mybatis_plus代码生成器
Posted 暴躁的程序猿啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis_plus代码生成器相关的知识,希望对你有一定的参考价值。
使用mybatis_plus代码生成器 需要导入包
代码生成器依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
引擎模板依赖
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
使用时只需要把
strategy.setInclude(“user”);
user 换成自己的表名
/**
* 代码自动生成器
* @create: 2021/7/24
* @author: Tony Stark
*/
public class FeiCode {
public static void main(String[] args) {
//需要构建一个 代码生成器对象
AutoGenerator autoGenerator = new AutoGenerator();
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
//当前项目路径
String property = System.getProperty("user.dir");
//代码生成的地方
globalConfig.setOutputDir(property+"/src/main/java");
//作者
globalConfig.setAuthor("阿飞");
//是否打开资源管理器
globalConfig.setOpen(false);
//是否覆盖
globalConfig.setFileOverride(false);
//去service的I前缀
globalConfig.setServiceName("%sService");
//主键类型
globalConfig.setIdType(IdType.ID_WORKER);
//日期类型
globalConfig.setDateType(DateType.ONLY_DATE);
//设置swagger文档
globalConfig.setSwagger2(true);
//配置放进自动生成器中
autoGenerator.setGlobalConfig(globalConfig);
//设置数据源
DataSourceConfig config = new DataSourceConfig();
config.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf8&userSSL=true");
config.setDriverName("com.mysql.jdbc.Driver");
config.setUsername("root");
config.setPassword("12345");
config.setDbType(DbType.MYSQL);
autoGenerator.setDataSource(config);
//配置包
PackageConfig packageConfig = new PackageConfig();
//实体包名
packageConfig.setEntity("pojo");
//controller包名
packageConfig.setController("controller");
//service包名
packageConfig.setService("service");
packageConfig.setServiceImpl("serviceImpl");
//dao接口包名
packageConfig.setMapper("dao");
//接口映射xml文件包
packageConfig.setXml("dao.xml");
//模块名
packageConfig.setModuleName("test");
packageConfig.setParent("com.rpf");
//设置包的配置
autoGenerator.setPackageInfo(packageConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
//设置要映射的表名
strategy.setInclude("user");
//数据库表映射到实体的命名策略 驼峰
strategy.setNaming(NamingStrategy.underline_to_camel);
//数据库表字段映射到实体的命名策略, 未指定按照 naming 执行
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
strategy.setEntityLombokModel(true);
//生成 @RestController 控制器
strategy.setRestControllerStyle(true);
//是否生成实体时,生成字段注解
strategy.entityTableFieldAnnotationEnable(true);
//加上Lombok注解
strategy.setEntityLombokModel(true);
//逻辑删除
strategy.setLogicDeleteFieldName("deleted");
//自动填充配置
TableFill gmt_creat = new TableFill("gmt_creat", FieldFill.INSERT);
TableFill gmt_modified = new TableFill("gmt_modified", FieldFill.UPDATE);
ArrayList<TableFill> list = new ArrayList<>();
list.add(gmt_creat);
list.add(gmt_modified);
//设置自动填充配置
strategy.setTableFillList(list);
//设置乐观锁
strategy.setVersionFieldName("version");
//设置驼峰命名
strategy.setRestControllerStyle(true);
//设置策略
autoGenerator.setStrategy(strategy);
//执行
autoGenerator.execute();
}
}
效果
以上是关于mybatis_plus代码生成器的主要内容,如果未能解决你的问题,请参考以下文章