# 代码生成器
**Repository Path**: hpp0716/code-generator
## Basic Information
- **Project Name**: 代码生成器
- **Description**: 自己使用习惯的一个代码生成器,根据mybatis-plus自己定制所写
https://github.com/baomidou/generator/tree/develop
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 13
- **Created**: 2023-06-04
- **Last Updated**: 2023-06-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 使用说明
1. 生成JAVA实体类
使用的是MyBatis Plus Generator,可以去github看方法[链接](https://github.com/baomidou/generator)(https://github.com/baomidou/generator)
具体方法请看CodeGenerator类,使用时直接运行**本类的main方法**
使用前需要关注配置项,请根据自己需要进行更改。也可以根据官网自行添加或修改
1. 配置项 现在是生成到本项目下(每次生成时清空文件夹)
```java
//数据库连接地址 用户名和密码
String url = "jdbc:mysql://ip:3306/database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
String userName = "";
String passWord = "";
//生成代码所在文件夹
String outputDirStr = System.getProperty("user.dir") + "/src/main/java";
String singletonMapStr = System.getProperty("user.dir") + "/src/main/resources/mapper";
//生成代码类所在包
String parentStr = "com.zwz.game";
```
2. 设置生成表名,单表直接写表名称,多表使用英文 **,** 分割,全部使用 **all** (具体请查看类中的getTables方法)
```java
.strategyConfig((scanner, builder) ->
builder.addInclude(getTables("tbl_goods"))//设置要生成的表名
.controllerBuilder()
.enableRestStyle()
.enableHyphenStyle()
.entityBuilder()
.enableLombok() //生成Lombok注解
.addTableFills(new Column("create_time", FieldFill.INSERT))
.build()
.mapperBuilder()
.enableBaseResultMap()
.build()
)
```
3. 模版配置
使用的是/templates/vm下的模版,已经做过小的修改,后续可以直接修改模版文件修改生成模版
```java
//模版配置
.templateConfig((scanner, builder) ->
builder.disable(TemplateType.ENTITY)
.entity("/templates/vm/entity.java")
.service("/templates/vm/service.java")
.serviceImpl("/templates/vm/serviceImpl.java")
.mapper("/templates/vm/mapper.java")
.mapperXml("/templates/vm/mapper.xml")
.controller("/templates/vm/controller.java")
.build()
)
```
# 引入POM文件内容
实体类中的@Api注解是引自swagger2(生成接口文档类),然后我又使用了[Knife4j](https://doc.xiaominfo.com)
```
io.springfox
springfox-swagger2
2.9.2
io.springfox
springfox-swagger-ui
2.9.2
io.swagger
swagger-models
io.swagger
swagger-models
1.5.22
com.github.xiaoymin
knife4j-spring-boot-starter
2.0.9