盘古开发框架 代码生成器是基于 Maven 的一个自定义插件。可以方便快捷的以插件的方式安装到任何一个 Maven 模块中去。目前支持生成如下代码。
- MyBatis Plus Mapper.java 映射接口文件
- MyBatis Plus Entity.java 实体文件
建议
根据实践经验,不建议使用 MyBatis Plus 的生成器,更不建议生成 Mybatis Plus 风格的 Service 文件。
安装 Maven 插件
pom.xml
<plugin>
<groupId>com.gitee.pulanos.pangu</groupId>
<artifactId>pangu-framework-generator-maven-plugin</artifactId>
<version>5.0.6</version>
<configuration>
<url>jdbc:mysql://127.0.0.1:3306/pangu-showcases</url>
<user>root</user>
<password>root123456</password>
<tables>user,resource</tables>
<author>xiongchun</author>
<entityFilePath>${project.basedir}/src/main/java/com/gitee/pulanos/pangu/showcases/crud/dao/entity</entityFilePath>
<mapperFilePath>${project.basedir}/src/main/java/com/gitee/pulanos/pangu/showcases/crud/dao/mapper</mapperFilePath>
</configuration>
</plugin>
插件参数说明
配置项 | 配置说明 |
---|---|
url | 数据库连接地址 |
user | 数据库用户名 |
password | 数据库密码 |
tables | 目标数据库表,多个表用逗号分割 |
author | 源代码文件的作者签名 |
entityFilePath | 实体类文件输出路径(根据此路径推导包结构) |
mapperFilePath | Mapper 类文件输出路径(根据此路径推导包结构) |
提示
- 上表中输出路径参数可以是基于 ${project.basedir} 的相对路径,也可以是绝对路径。
- 微服务开发中实体类文件一般是生成到服务接口包里,与服务消费方共享。(可以在接口包模块安装此插件,或者在服务实现模块将实体类生成路径直接指向接口包)
运行Maven插件
方式一
通过 IDEA 或 Eclipse 等开发工具来执行名为 pangu
的 Maven 插件。如下图所示。
方式二
通过 Mavne 脚本执行。如下所示。
命令行脚本
cd pom.xml所在的更目录
mvn pangu:generate
输出结果
控制台输出日志
xc@xc-mac pangu-examples-crud % mvn pangu:generate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------< com.gitee.pulanos.pangu:pangu-examples-crud >-------------
[INFO] Building pangu-examples-crud 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- pangu-framework-generator-maven-plugin:5.0.6:generate (default-cli) @ pangu-examples-crud ---
[INFO] 开始生成数据表[user]对应的实体对象...
[INFO] UserEntity.java 生成成功。文件路径:/Users/xc/git2/pangu-framework/pangu-examples/pangu-examples-crud/src/main/java/com/gitee/pulanos/pangu/showcases/crud/dao/entiity.java
[INFO] 开始生成数据表[user]对应的数据访问接口...
[INFO] UserMapper.java 生成成功。文件路径:/Users/xc/git2/pangu-framework/pangu-examples/pangu-examples-crud/src/main/java/com/gitee/pulanos/pangu/showcases/crud/dao/mapper/UserMapper.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.291 s
[INFO] Finished at: 2021-11-15T21:54:22+08:00
[INFO] ------------------------------------------------------------------------
本文相关范例源码
- pangu-examples-crud:数据持久化参考范例(含代码生成器演示)
- pangu-examples-dubbo-api:服务接口包(含代码生成器演示)