MyBatisPlus之代码自动生成器
代码自动一键生成,功能强大,大大节省了开发时间
主要介绍一下springboot玩家,先来看配置的依赖maven
注意不要用最新版的依赖,很多东西新版以及移除了
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.6</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
java测试类代码
public static void main(String[] args) {
//需要构建一个代码生成器对象
AutoGenerator mpg = new AutoGenerator();
//配置策略
//1、全局配置
GlobalConfig gc = new GlobalConfig();
String prPath = System.getProperty("user.dir");//获取当前系统目录
gc.setOutputDir(prPath+"/src/main/java");//指定输出的位置
gc.setAuthor("wangjinb");//设置作者
gc.setOpen(false);//是否打开资源管理器
gc.setFileOverride(false);//是否覆盖原来的文件
gc.setServiceName("%sService");//去掉service的i前缀
gc.setIdType(IdType.ID_WORKER);//设置id的生成策略默认算法
gc.setDateType(DateType.ONLY_DATE);//设置日期生成策略
gc.setSwagger2(true);
mpg.setGlobalConfig(gc);
//2、设置数据源”
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/blog?serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setDbType(DbType.MYSQL);//数据库类型
mpg.setDataSource(dsc);
//3、配置包
PackageConfig pc = new PackageConfig();
pc.setModuleName("blog");//设置模块
pc.setParent("com.wj.testdemo");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setService("service");
pc.setController("controller");
mpg.setPackageInfo(pc);
// 4、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("t_blog");//指定要映射的数据库表,可以写多个表,用“,”隔开
strategy.setNaming(NamingStrategy.underline_to_camel);//设置命名规则下划线转驼峰
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//列名规则
strategy.setEntityLombokModel(true);//是否生成lombok注解
// strategy.setLogicDeleteFieldName("deleted");//逻辑删除字段配置
//自动填充的配置
TableFill create_time = new TableFill("create_time", FieldFill.INSERT);//设置时的生成策略
TableFill update_time = new TableFill("update_time", FieldFill.INSERT_UPDATE);//设置更新时间的生成策略
ArrayList<TableFill> list = new ArrayList<>();
list.add(create_time);
list.add(update_time);
strategy.setTableFillList(list);
//乐观锁
// strategy.setVersionFieldName("version");
strategy.setRestControllerStyle(true);//开启驼峰命名
// strategy.setControllerMappingHyphenStyle(true);//开启链接地址的下划线命名 localhost:8080/hello_id_2
mpg.setStrategy(strategy);
mpg.execute();//执行
}