SpringBoot集成mybatis-plus(代码生成器)
1.maven依赖
<!-- mybaits plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mybaits plus代码生成-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.0</version>
</dependency>
<!--模板引擎velocity start-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
2.创建生成器主类
置是否覆盖原来的代码
gc.setOpen(false); //生成代码后是否打开文件夹
//gc.setAuthor("ys"); //设置生成代码的作者
//gc.setActiveRecord(true);//设置是否支持AR模式
//gc.setEnableCache(false);// XML 二级缓存
//gc.setBaseResultMap(true);// XML ResultMap
//gc.setBaseColumnList(true);// XML columList
//gc.setKotlin(true); //是否生成 kotlin 代码
autoGenerator.setGlobalConfig(gc);
//数据源配置--------------------------------------------------------------------------------------------
DataSourceConfig dsc = new DataSourceConfig(); //数据源配置
//dsc.setDbType(DbType.SQL_SERVER);//数据库类型 枚举
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/base?characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false");//设置url
dsc.setDriverName("com.mysql.cj.jdbc.Driver"); //设置数据库驱动
dsc.setUsername("root");//设置用户名
dsc.setPassword("zzbeilei2020"); //设置密码
// dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】
// @Override
// public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
// System.out.println("转换类型:" + fieldType);
// if ( fieldType.toLowerCase().contains( "tinyint" ) ) { //tinyint转换成Boolean
// return DbColumnType.BOOLEAN;
// }
// if ( fieldType.toLowerCase().contains( "datetime" ) ) { //将数据库中datetime转换成date
// return DbColumnType.DATE;
// }
// return (DbColumnType) super.processTypeConvert(globalConfig, fieldType);
// }
// });
autoGenerator.setDataSource(dsc);
// 集成注入配置\包配置-----------------------------------------------------------------------------------
PackageConfig pc = new PackageConfig();
pc.setParent("com.ys");//提取公共父级包名
pc.setController("controller");//设置controller信息
pc.setService("service"); //设置service信息
pc.setServiceImpl("service.impl");
pc.setMapper("dao"); //设置dao信息
pc.setEntity("entity"); //设置实体类信息
pc.setXml("xml");//设置mapper.xml信息
autoGenerator.setPackageInfo(pc);
// 策略配置--------------------------------------------------------------------------------------------
StrategyConfig sc = new StrategyConfig();
sc.setNaming(NamingStrategy.underline_to_camel);//表名生成策略,下划线转驼峰
sc.setColumnNaming(NamingStrategy.underline_to_camel);//字段名生成策略,下划线转驼峰
sc.setEntityLombokModel(true);//【实体】是否为lombok模型
//strategy.setInclude(new String[]{"city","customer"}); // 表名
sc.setInclude("city"); // 表名
//strategyConfig.setCapitalMode(true);//全局大写命名是否开启
//strategyConfig.setTableFillList(tableFillList)//自动填充设置
//TemplateConfig配置--------------------------------------------------------------------------------------
//TemplateConfig templateConfig = new TemplateConfig();
//templateConfig.setXml(null);//指定自定义模板路径, 位置:/resources/templates/entity2.java.ftl(或者是.vm)
//注意不要带上.ftl(或者是.vm), 会根据使用的模板引擎自动识别
// 自定义模板配置,模板可以参考源码 /mybatis-plus/src/main/resources/template 使用 copy
// 至您项目 src/main/resources/template 目录下,模板名称也可自定义如下配置:
// templateConfig.setController("...");
// templateConfig.setEntity("...");
// templateConfig.setMapper("...");
// templateConfig.setXml("...");
// templateConfig.setService("...");
//templateConfig.setServiceImpl("...");
//autoGenerator.setTemplate(templateConfig);
autoGenerator.setStrategy(sc);
autoGenerator.execute();
}
}
3.完成
![image](https://img2020.cnblogs.com/blog/1915101/202107/1915101-20210730171543893-1953176505.png)