这是一个基于数据库表
用来自动生成 Model & Mapper & Service & ServiceImpl & Controller 等代码的代码生成器
使用者可以通过修改ftl模板来生成自己所需的基本代码块
主要是为了解决日常工作、练习中代码的重复工作量
目前仅支持 Mybatis 底层代码的生成
|——src
|——main
| |——java // 存放生成的代码
|
| |——resource
|
| | |——mapper // 存放生成的 Mapper.xml 文件
|
|
|——test
| |——java // 存放生成器的代码
|
| | |——com
|
| | | |——codegen
|
| | | | |——main
|
| |——CodeGeneratorMain.java // 代码生成器启动项
|
| | | | |——service
|
| |——CodeGeneratorManager.java // 代码生成器基础项 (常量信息&通用方法)
|
| |——CodeGenerator.java // 主要逻辑接口
|
| | | | | |——impl
|
| |——ControllerGenerator.java // Controller层 代码生成器
|
| |——ServiceGenerator.java // Service层 代码生成器
|
| |——ModelAndMapperGenerator.java // Model&Mapper 代码生成器
|
|
| | | | |——util
|
| |——StringUtils.java // 字符串操作常用方法集
|
| |——resource
|
| | |——generator
|
| | | |——template // 存放ftl模板代码
|
| |——controller.ftl // Controller 模板代码
|
| |——service.ftl // Service 模板代码
|
| |——service-impl.ftl // ServiceImpl 模板代码
- 进入到
src/test/java目录下
找到CodeGeneratorMain类 为生成器的启动项
直接Run As Java Application运行即可 - 如果需要修改数据库配置信息,或者存储路径的相关配置信息
进入到src/test/java/com/codegen/service目录下
找到CodeGeneratorManager类,在其中修改静态变量即可,后期将会调整至配置文件中 - 新增 Mapper 通用插件&分页插件
已经固定放置src/main/java/com/bigsea/sns/dao和
src/main/java/com/bigsea/sns/service两个包下
使用者可以根据自已定义的路径存放
但是需要注意的是MyMapper接口存放的路径最好不要被Mybatis扫描到, 会出现异常 - 目前提供三个入口:
以表名 gen_test_demo 为例子, 主要是以下几种情况:
- gen_test_demo ==> Demo 可以传入多表
genCodeWithSimpleName("gen_test_demo"); - gen_test_demo ==> GenTestDemo 可以传入多表
genCodeWithDetailName("gen_test_demo"); - gen_test_demo ==> IDemo 自定义名称
genCodeWithCustomName("gen_test_demo", "IDemo");
- 如果需要生成自己所需的 Controller & Service & ServiceImpl 样式
进入到src/test/resources/generator/template目录下
修改对应的ftl文件即可 - 推荐表名的格式类似
gen_test_userinfo需要下划线分割
gen作为项目别名
test作为区分字段, 用于分包
userinfo可作为实体类名
当然表名也可以为gen_test_user_info与gen_test_userinfo类似 - 使用过程仍存在相关Bug
您可以将详情发送至我的邮箱bigsea1994@gmail.com
万分感激
Github交流群:
Github交流群