业务开发过程中一些重复工作会使用工具自动生成代码,这篇主要是将mybatis-plus
的代码生成。首先介绍下之前用的工具。
mybatis-plus代码工具
- 官方提供的mybatis-plus-generator
- IDEA插件市场的MybatisPlus
具体的使用方式看官方文档就可以了。下面简单说下这俩工具。
- 第一个是在生成代码到指定目录,如果换项目可以需要做一些调整才行。从使用方式上最好是本地一个单独一个项目,专门用于生成,之后再copy到需要的项目中。
- 第二个是IDEA的插件,直接配置好数据源。配置完成会出现数据表,可选择需要的表生成。但是配置是所有项目公用的,数据源可以需要来回更改。当然也可以所有表结构都copy到固定的开发库进行生成,避免数据源的调整。
因为实际开发过程中使用这两个遇到的一些小麻烦,所有开发了mybatis-plus-generator。名字和官方的相同,不过是一个maven插件。下面主要介绍下它。
mybatis-plus-generator(maven插件)
项目地址
https://github.com/nikyotensai/mybatis-plus-generator
使用方式
在plugins下添加:
<plugin>
<groupId>com.github.nikyotensai</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>1.0.3</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generatorConfig.yml</configurationFile>
</configuration>
</plugin>
在添加的pom目录下执行以下命令:
mvn mp:code
plugin配置说明
- configurationFile:配置文件路径
generatorConfig文件说明
属性 | 说明 |
---|---|
fileOverride | 是否覆盖文件(对entity以外文件生效)建议false |
dataSource.driverName | 驱动 |
dataSource.url | 数据源url |
dataSource.username | 数据源用户名 |
dataSource.password | 数据源密码 |
strategy.naming | 生成策略 |
strategy.tablePrefix | 生成的表前缀 |
strategy.ignorePrefix | 生成类时忽略的前缀 |
strategy.idGenType | 主键策略(mybatis-plus 的IdType) |
strategy.superEntityClass | Entity父类全名称(例:com.github.nikyotensai.entity.BaseEntity) |
packageInfo.parent | package父包 |
packageInfo.dao | DAO目录 |
packageInfo.entity | entity目录 |
packageInfo.mapper | mapper目录 |
packageInfo.xml | xml目录 |
特殊说明
- 只支持mysql,暂无支持其它数据库的计划
-
mysql-plus
提供的Service
和ServiceImpl
直接合并为一个DAO进行操作
总结
mybatis-plus
的代码生成工具有很多,选择合适的即可。专门写一个maven插件是因为自己用着更顺手,同时可以直接集成到统一的maven父依赖中,自己只修改配置文件即可。