使用方式

  1. 启动项目后访问本地接口文档地址 http://{localhost}:{post}/doc.html
  2. 在文档中找到逆向工程-开发人员接口
图片

首次代码生成

  1. 点击代码生成接口-> 调试 配置所需参数
  2. 参数介绍
    • author 作者
    • backageName 生成文件的包名
    • modulesName 生成的模块名称 如 user、dept、role
    • databaseName 生成文件的数据库名, 为了开发人员不输错 采用下拉框显示。后面会将如果修改这些默认值
    • tableName 生成的表名,如果要在同一个模块下生成多个表的代码 以英文逗号分隔 如 auth_user,auth_user_dept
    • idType 生成表的注解类型 如 自增 uuid 雪花 mybatis_plus 类型 如不清楚 查询 mybatis_plus官方文档
    • tablePrefix 表前缀 如果我们的表是有前缀的,例如 auth_user 而生成的类想是User开头 而不是 AuthUser 则需要填写改字段。会自动去掉前缀
    • filesPrefix 表字段前缀 如果生成的表里面每个字段也有前缀 而我们想最终生成的文件实体类去掉这些前缀 则需要填写该字段。会自动去掉前缀 例如 abc_user_id 填写abc 后 生成的字段 就是 String UserId
  3. 点击发送,代码就会自动生成到项目里面我们设置的模块里面 图片
  4. 生成后代码 图片
  5. 生成后的接口 图片

重新生成

  1. 如果某个表中字段进行编辑 新增|修改|删除 需要重新生成代码
  2. 点击重新生成表结构接口、代码就会重新生成
  3. 重新生成的代码只生成 实体类po、mapper、xml 其他文件不会重新生成 所以需要开发人员遵循对应的规范 详情查看 编码规范要求 里面有介绍

修改接口默认值

  1. 打开kunpeng-common -> framework-core -> com.kunpeng.framework.entity.po 中的 GeneratorPO 实体类
  2. 在该类里面修改成自己所需的默认值
@Data
@ApiModel(value="GeneratorPO", description="GeneratorPO")
public class GeneratorPO {

    @ApiModelProperty(value = "作者", required = true, example = "lipeng")
    private String author;


    @ApiModelProperty(value = "数据库", required = true, allowableValues = "kunpeng_auth,kunpeng_bpm", allowEmptyValue = true)
    private String databaseName;

    @ApiModelProperty(value = "包名 默认 com.kunpeng.framework.modules", example = "com.kunpeng.framework.modules")
    private String backageName = "com.kunpeng.framework.modules";

    @ApiModelProperty(value = "模块名", required = true)
    private String modulesName;

    @ApiModelProperty(value = "数据库表名称", required = true, example = "[\"auth_user\", \"auth_menu\"]" )
    private List<String> tableName;

    @ApiModelProperty(value = "主键策略", required = true, example = "ASSIGN_UUID")
    private IdType idType;

    @ApiModelProperty(value = "表前缀")
    private List<String> tablePrefix;

    @ApiModelProperty(value = "字前缀")
    private List<String> filesPrefix;

}

说明

  • 框架默认生成是没有server接口层的 作者建议如果没有多实现、没必要非要加、写教学式代码。

  • 如果想要生成带server接口层的代码、修改以下配置即可 修改framework-core包下KPMyBatisPlusNew 文件里面的内容

    1. 修改 configurePackage 方法、
private Consumer<PackageConfig.Builder> configurePackage(String path, String packName) {
     return builder -> {
         builder.parent(packName) 
                 .controller("controller") 
                 .service("service") # 这里不需要动
                 .serviceImpl("service")  #这里改成 service.impl
                 .entity("po") 
                 .mapper("mapper") 
                 .xml("mapper.xml") 
                 .pathInfo(Collections.singletonMap(OutputFile.xml, KPStringUtil.format("{0}/src/main/resources/mapper/{1}", path, packName.substring(packName.lastIndexOf(".") + 1, packName.length()))));  
     };
 }
  1. 修改 configureTemplate 方法
 private Consumer<TemplateConfig.Builder> configureTemplate() {
     return builder -> {
         builder.disable(TemplateType.SERVICE)
                 .controller("freemarker/controller.java")
   //                    .service(null) #这里的注释打开
                 .serviceImpl("freemarker/serviceImpl.java")
                 .mapper("freemarker/mapper.java")
                 .entity("freemarker/entity.java")
                 .xml("freemarker/mapper.xml");
     };
 }