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


猜你喜欢
- 1、创建在class块外面:class Test{}/** 我是main入口函数 **/fun main(args: Array<St
- 在android开发中,通常使用xml格式来描述布局文件。就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层。大部分企
- yml配置规则属性跟属性值之间使用“:”和一个“空格”隔开,
- 使用GroupingSearch对搜索结果进行分组Package org.apache.lucene.search.grouping Des
- 在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给
- 前言前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解A
- Java 如何将String转化为Int在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 p
- 本文实例为大家分享了Unity实现手势识别的具体代码,供大家参考,具体内容如下代码很简单没有难度,都有注解,随便 看一看 就会了。
- java 创建线程Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Threa
- 现象在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,
- 本文实例讲述了Android编程设计模式之状态模式。分享给大家供大家参考,具体如下:一、介绍状态模式中的行为是由状态来决定的,不同的状态下有
- 最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同
- class 参数 {
- C# 7 里面的Pattern Mathing 更多内容请查看官方文档:https://docs.microsoft.com/zh-cn/d
- 为什么需要多线程?模型的简化,如某些程序是由多个相对独立任务的运行:图形界面的出现,输入、输出的阻塞多核CPU的更好利用异步行为的需要Jav
- 一、首先下载 ZXing.Net地址是:http://zxingnet.codeplex.com/releases/view/117068然
- Cookie1. 概念是服务器通知客户端保存键值对的一种技术。cookie 是 servlet(服务器) 发送到 Web 浏览器(客户端)的
- Java Json的各种处理一、net.sf.json1、Json转MapJSONObject jsonObject = JSONObjec
- 1.抽奖主界面2.操作步骤S键开始;0、1、2、3、4、5键分别对应6次奖项;分别是 特等奖、一等奖、二等奖、三等奖、四等奖、五等奖9键是加
- 前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一) ,Android自定义控件之自定义属性(二) ,Androi