springboot3.1.3和mybatis-plus3.5和最新代码生成器实践

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=UTC
    username: root
    password: 123456

mybatis-plus:
  # xml地址
  mapper-locations: classpath:mapper/*.xml
  # 实体扫描,多个package用逗号或者分号分隔
  type-aliases-package: com.wm.entity   #自己的实体类地址
  configuration:
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 开启驼峰命名法
    map-underscore-to-camel-case: true

springboot3.1.3和mybatis-plus3.5和最新代码生成器实践_第1张图片

springboot3.1.3和mybatis-plus3.5和最新代码生成器实践_第2张图片

springboot3.1.3和mybatis-plus3.5和最新代码生成器实践_第3张图片

@Test
public void codeGenerator(){
    // 定义数据表名称
    String tableName = "bq_lawyer_user";
    // 定义创作者名称
    String author = "administrator";
    // 定义包名
    String packageName = "com.wm";

    FastAutoGenerator.create(appYmlInfo.getDbUrl(),
                    appYmlInfo.getDbUsername(),appYmlInfo.getDbPassword())
            // 全局配置
            .globalConfig(builder -> {
                builder.author(author)
                        // 指定输出目录
                        .outputDir(System.getProperty("user.dir") + "/src/main/java");
            })
            // 包名配置
            .packageConfig(builder -> {
                builder.entity("entity") // 实体类包名
                        .parent(packageName) // 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
                        .controller("controller") // 控制层包名
                        .mapper("mapper") // mapper层包名
                        // .other("dto") // 生成dto目录 可不用
                        .service("service") // service层包名
                        .serviceImpl("service.impl") // service实现类包名
                        // 自定义mapper.xml文件输出目录
                        .pathInfo(Collections.singletonMap(OutputFile.xml,System.getProperty("user.dir") +
                                "/src/main/resources/mapper"));
            })
            .strategyConfig(builder -> {
                // 设置要生成的表名
                builder.addInclude(tableName)
                        .entityBuilder()
                        .enableLombok()
                        .enableChainModel()
                        .naming(NamingStrategy.underline_to_camel) // 数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
                        .columnNaming(NamingStrategy.underline_to_camel) // 表字段映射实体属性命名规则:默认null,不指定按照naming执行
                        .idType(IdType.ASSIGN_ID) // 添加全局主键类型
                        .formatFileName("%s") // 格式化实体名称,%s取消首字母I,
                        .mapperBuilder()
                        .enableBaseResultMap() // 启用xml文件中的BaseResultMap 生成
                        .enableBaseColumnList() // 启用xml文件中的BaseColumnList
                        .formatMapperFileName("%sMapper") // 格式化Dao类名称
                        .formatXmlFileName("%sMapper") // 格式化xml文件名称
                        .serviceBuilder()
                        .formatServiceFileName("%sService") // 格式化 service 接口文件名称
                        .formatServiceImplFileName("%sServiceImpl") // 格式化 service 接口文件名称
                        .controllerBuilder()
                        .enableRestStyle();
            }).execute();
}

完整结构:

springboot3.1.3和mybatis-plus3.5和最新代码生成器实践_第4张图片

springboot3.1.3和mybatis-plus3.5和最新代码生成器实践_第5张图片

你可能感兴趣的:(tomcat,java)