Linyi MybatisPlus Generator 是一个基于 Spring Boot 和 MyBatis-Plus 的代码生成工具,用于快速生成基于 MyBatis-Plus 的项目代码,包括实体类、Mapper、Service、Controller 以及相关的 VO 对象和 XML 文件,极大地提高开发效率。
- 自动生成实体类(Entity)、Mapper 接口、Mapper XML、Service 接口、Service 实现类、Controller
- 额外生成 AddVo、UpdateVo、QueryVo 等常用的数据传输对象
- 支持自定义模板,灵活配置生成规则
- 基于 Freemarker 模板引擎,生成代码风格统一
- 支持数据库表前缀自动去除
- 适配 MySQL 数据库
- JDK 8+
- Maven 3.6+
- MySQL 5.7+
- Spring Boot 2.3.3.RELEASE
git clone https://github.com/yourusername/linyi-mybatisplus-generator.git
cd linyi-mybatisplus-generator
修改 src/main/resources/application.yml
文件中的数据库连接信息:
spring:
datasource:
druid:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: your_username
password: your_password
修改 src/main/resources/system.properties
文件,配置代码生成的包名和其他属性:
# 生成器包名(生成的文件将放在此包下)
sys.generator.generatorPackage=your_project_name
# 作者姓名(会显示在生成的代码注释中)
sys.generator.author=your_name
# 基础包名(生成的代码的包前缀)
sys.generator.basePackage=com.yourcompany.project
# 各类文件的子包名配置
sys.generator.entityPackage=entity
sys.generator.mapperPackage=mapper
sys.generator.servicePackage=service
sys.generator.serviceImplPackage=service.impl
sys.generator.controllerPackage=controller
# mapper.xml文件的包名
sys.generator.mapperXmlPackage=mapper
运行 GeneratorApplication
主类,启动生成器应用:
mvn spring-boot:run
或者在 IDE 中直接运行 com.linyi.GeneratorApplication
类。
应用启动后,访问 http://localhost:8888
进入代码生成器操作界面。
- 在浏览器中打开
http://localhost:8888
- 选择需要生成代码的数据库表
- 配置生成选项(如是否去除表前缀等)
- 点击"生成代码"按钮
- 生成的代码将保存到配置的输出目录中
生成的代码将按照以下结构组织:
com.yourcompany.project
├── controller
│ └── XxxController.java
├── entity
│ ├── Xxx.java
│ ├── XxxAddVo.java
│ ├── XxxUpdateVo.java
│ └── XxxQueryVo.java
├── mapper
│ └── XxxMapper.java
└── service
├── XxxService.java
└── impl
└── XxxServiceImpl.java
resources 目录:
resources
└── mapper
└── xxx
└── XxxMapper.xml
主要配置数据库连接和服务器端口:
server:
port: 8888 # 应用端口号
spring:
datasource:
druid:
driverClassName: com.mysql.cj.jdbc.Driver # 数据库驱动
url: jdbc:mysql://localhost:3306/your_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # 数据库URL
username: root # 数据库用户名
password: password # 数据库密码
配置代码生成的相关属性:
# 生成器包名
sys.generator.generatorPackage=your_project_name
# 作者
sys.generator.author=your_name
# 基础包名
sys.generator.basePackage=com.yourcompany.project
# 各类文件包名配置
sys.generator.entityPackage=entity
sys.generator.mapperPackage=mapper
sys.generator.servicePackage=service
sys.generator.serviceImplPackage=service.impl
sys.generator.controllerPackage=controller
# mapper.xml包名
sys.generator.mapperXmlPackage=mapper
模板文件位于 src/main/resources/templates
目录下,可以根据需求修改以下模板文件:
entity.ftl
- 实体类模板entityAddVo.ftl
- 添加 VO 类模板entityUpdateVo.ftl
- 更新 VO 类模板entityQueryVo.ftl
- 查询 VO 类模板mapper.ftl
- Mapper 接口模板service.ftl
- Service 接口模板serviceImpl.ftl
- Service 实现类模板controller.ftl
- Controller 类模板mapperXml.ftl
- Mapper XML 文件模板
- 在
src/main/resources/templates
目录下创建新的模板文件 - 在
GeneratorConstant
类中添加相应的常量 - 在
GeneratorHelper
类中添加对应的生成方法
- 修改
GeneratorConstant.DATABASE_TYPE
常量 - 根据需要调整数据类型映射逻辑
A: 在生成代码时,可以在界面上勾选"去除表前缀"选项,或者修改代码中的相关配置。
A: 可以修改 src/main/resources/templates
目录下的模板文件。
A: 可以修改对应的模板文件,或者在 GeneratorHelper
类中添加相应的逻辑。
欢迎贡献代码,提交问题和改进建议。贡献前请先 Fork 项目,然后提交 Pull Request。
本项目采用 MIT 许可证。