全新的 MyBatis-Plus 代码生成器,通过 builder 模式可以快速生成你想要的代码,快速且优雅,跟随下面的代码一睹为快。
安装
由于代码生成器用到了模板引擎,请自行引入您喜好的模板引擎。MyBatis-Plus Generator 支持如下模板引擎:
- VelocityTemplateEngine(Default)
- FreemarkerTemplateEngine
- BeetlTemplateEngine
- EnjoyTemplateEngine
如果您还想使用或适配其他模板引擎,可自行继承 AbstractTemplateEngine
并参考其他模板引擎实现自定义。
生成方式
代码生成器目前支持两种生成方式:
-
DefaultQuery (元数据查询)
- 优点: 根据通用接口读取数据库元数据相关信息,对数据库通用性较好。
- 缺点: 依赖数据库厂商驱动实现。
- 备注: 默认方式,部分类型处理可能不理想。
-
SQLQuery (SQL查询)
- 优点: 需要根据数据库编写对应表、主键、字段获取等查询语句。
- 缺点: 通用性不强,同数据库厂商不同版本可能会存在兼容问题(例如,H2数据库只支持1.X版本)。
- 备注: 后期不再维护。
如果是已知数据库(无版本兼容问题),请继续按照原有的SQL查询方式继续使用,示例代码如下:
元数据查询目前有如下问题:
- 不支持使用 NotLike 的方式反向生成表。
- 无法读取表注释,解决方法:
- MySQL链接增加属性
remarks=true&useInformationSchema=true
- Oracle链接增加属性
remarks=true
或者 remarksReporting=true
(某些驱动版本)
- SqlServer:驱动不支持
- 部分 PostgreSQL 类型处理不佳(如 json、jsonb、uuid、xml、money 类型),解决方法:
- 转换成自定义的类型配合自定义 TypeHandler 来处理。
- 扩展 typeConvertHandler 来处理(3.5.3.3 后增加了 typeName 获取)。
- MySQL 下 tinyint 字段转换问题:
使用
您可以通过以下两种形式使用代码生成器。
快速生成
在 CodeGenerator 中的 main 方法中直接添加生成器代码,并进行相关配置,然后直接运行即可生成代码。
交互式生成
交互式生成在运行之后,会提示您输入相应的内容,等待配置输入完整之后就自动生成相关代码。
如果您需要更多例子可查看 test 包下面的 samples。
配置
请移步至 代码生成器配置 查看。
资源
© 2016-2024 Baomidou™. All Rights Reserved.
Power by Astro Starlight |
Sponsored by JetBrains
渝ICP备2021000141号-1 |
渝公网安备50011302222097