# 代码生成器 **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