软件编程
位置:首页>> 软件编程>> java编程>> mybatis mybatis-plus-generator+clickhouse自动生成代码案例详解

mybatis mybatis-plus-generator+clickhouse自动生成代码案例详解

作者:Max&Min  发布时间:2021-06-06 10:12:55 

标签:mybatis,mybatis-plus-generator,clickhouse

mybatis-plus-generator + clickhouse 自动生成代码

依赖


<!--> mybatis-plus </!-->
       <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-boot-starter</artifactId>
           <version>3.4.3.1</version>
       </dependency>

<!--> 代码模板 </!-->
       <dependency>
           <groupId>org.freemarker</groupId>
           <artifactId>freemarker</artifactId>
       </dependency>

<!--> mybatis-plus代码生成器 </!-->
       <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-generator</artifactId>
           <version>3.5.0</version>
       </dependency>

配置


mybatis-plus:
 configuration:
   map-underscore-to-camel-case: true
   auto-mapping-behavior: full
   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 mapper-locations: classpath*:mapper/**/*Mapper.xml

CodeGenerator


public class CodeGenerator {

private static final String REPLACE_LOCAL_PATH = "/target/test-classes/";
   private static final String JAVA_PATH = "/src/main/java";
   public static void main(String[] args) {

// 获取项目路径
       String projectPath = ClassLoader.getSystemResource("").getPath().replace(REPLACE_LOCAL_PATH, "");
       // 全局配置
       GlobalConfig gc = GeneratorBuilder.globalConfigBuilder()
               .fileOverride().openDir(false)
               .outputDir(projectPath + JAVA_PATH)
               .author("generator")
               .enableSwagger()
               .commentDate("yyyy-MM-dd").build();

// 数据源配置
       DataSourceConfig dsc = new DataSourceConfig.Builder("jdbc:clickhouse://ip:port", "user", "password")
               .dbQuery(new ClickHouseQuery()).schema("schema").build();

// 包配置
       PackageConfig pc = GeneratorBuilder.packageConfigBuilder().parent("com.study.clickhouse").build();

// 策略配置
       StrategyConfig strategy = GeneratorBuilder.strategyConfigBuilder()
               .addInclude("table_name")
               .addTablePrefix(pc.getModuleName() + "_")
               .controllerBuilder().enableHyphenStyle()
               .entityBuilder()
               .naming(NamingStrategy.underline_to_camel)
               .columnNaming(NamingStrategy.underline_to_camel)
               .versionColumnName("version").logicDeleteColumnName("isDelete")
               .enableLombok()
               .build();

TemplateConfig templateConfig = GeneratorBuilder.templateConfigBuilder().build();

// 代码生成器
       AutoGenerator mpg = new AutoGenerator(dsc).global(gc).strategy(strategy).template(templateConfig).packageInfo(pc);

mpg.execute(new FreemarkerTemplateEngine());

}
}

click相关参考

来源:https://blog.csdn.net/zhb890306/article/details/119994860

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com