# code_generator **Repository Path**: linjunliang/code-gegerator ## Basic Information - **Project Name**: code_generator - **Description**: 一款基于FreeMarker的代码生成工具,欢迎大家使用 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-03-25 - **Last Updated**: 2025-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Code Generator代码生成器 > 作者:*Rhythm-2019* > > 邮箱:rhythm_2019@163.com > > 最近更新:2021/01/01 > > 版本:v1.1 新的一年里祝大家事业有成工作顺利 ## 项目简介 本项目是基于```Freemarker```和```Mybatis```的```tx.Mapper```的代码生成器,可快速生成Web项目中的部分代码,结构如下 ``` 文件夹 PATH 列表 卷序列号为 F67E-F033 C:. │ 1.txt │ └─example └─src └─main ├─java │ └─com │ └─mdnote │ └─springbootcli │ ├─common │ │ └─ret │ │ CommonResponse.java │ │ CommonResult.java │ │ CustomizeCode.java │ │ │ ├─core │ │ └─universal │ │ BaseMapper.java │ │ BaseService.java │ │ BaseServiceImpl.java │ │ │ └─example │ ├─controller │ │ PermInfoController.java │ │ RoleInfoController.java │ │ RolePermRelationController.java │ │ SystemLogController.java │ │ UserInfoController.java │ │ UserRoleRelationController.java │ │ │ ├─db │ │ ├─mapper │ │ │ PermInfoMapper.java │ │ │ RoleInfoMapper.java │ │ │ RolePermRelationMapper.java │ │ │ SystemLogMapper.java │ │ │ UserInfoMapper.java │ │ │ UserRoleRelationMapper.java │ │ │ │ │ └─model │ │ PermInfo.java │ │ RoleInfo.java │ │ RolePermRelation.java │ │ SystemLog.java │ │ UserInfo.java │ │ UserRoleRelation.java │ │ │ └─service │ │ PermInfoService.java │ │ RoleInfoService.java │ │ RolePermRelationService.java │ │ SystemLogService.java │ │ UserInfoService.java │ │ UserRoleRelationService.java │ │ │ ├─impl │ │ PermInfoServiceImpl.java │ │ RoleInfoServiceImpl.java │ │ RolePermRelationServiceImpl.java │ │ SystemLogServiceImpl.java │ │ UserInfoServiceImpl.java │ │ UserRoleRelationServiceImpl.java │ │ │ └─vo │ PermInfoVO.java │ RoleInfoVO.java │ RolePermRelationVO.java │ SystemLogVO.java │ UserInfoVO.java │ UserRoleRelationVO.java │ └─resources └─com └─mdnote └─springbootcli └─example └─db └─mapper PermInfoMapper.xml RoleInfoMapper.xml RolePermRelationMapper.xml SystemLogMapper.xml UserInfoMapper.xml UserRoleRelationMapper.xml ``` ## 使用方式 在使用之前需要用户添加下面的依赖: ```xml org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.0 tk.mybatis mapper-generator 1.0.0 tk.mybatis mapper-spring-boot-starter 2.0.1 com.github.pagehelper pagehelper-spring-boot-starter 1.2.10 com.google.guava guava 22.0 ``` 用户需要在```generator.properties```中配置以下信息 ```properties # 数据库设置 generator.database.ip=127.0.0.1 generator.database.port=3306 generator.database.dbType=mysql generator.database.databaseName=springboot-cli generator.database.username=root generator.database.password=******** # 信息设置 generator.settings.projectName=helloWord generator.settings.projectComment=测试用例 generator.settings.author=Rhythm-2019 generator.settings.basePackage=com.mdnote.example generator.settings.version=1.0 generator.settings.email=rhythm_2019@163.com generator.settings.outputPath=C://Users//Rhythm//Desktop//test// # 填写需要去除的表前缀 generator.tabelRemovePrefixes=tb_,pr_ ``` 运行```Application.java```,将生成好的代码拷贝到工程中即可 ## 更新记录 20201212: * Entity和Model是分离的两个实体,需要在Service中进行转换,该部分仍未完成 * Controller现在仍为空 2021/1/1 * 基本完成所有模板的编写 * 对于主键生成还未解决,使用过程中需要大家将数据库设置为自增或修改模板 * 整个工程优点乱,每次添加新的模板都需要大量修改代码,之后需要优化一下 ## 参考 * [Freemaker 文档](http://freemarker.foofun.cn/pgui.html) * [获取数据库结构信息——JDBC.MetaData](https://rhythm-2019.gitee.io/2020/07/12/%E8%8E%B7%E5%8F%96%E6%95%B0%E6%8D%AE%E5%BA%93%E7%BB%93%E6%9E%84%E4%BF%A1%E6%81%AF-JDBC-MetaData/) * [SLF4J和logback整合](https://www.jianshu.com/p/696444e1a352)