基于SpringBoot生成,需要导入SpringBoot的相关依赖
Maven依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
代码:
package com.lengxin.mybatis_plus;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableField;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
/**
* Copyright(C),2021-2021,冷鑫制作
* FileName:MyAutoGenerator
* Author:lengxin
* Date: 2021/5/279:15
* Description
* History:
* <作者姓名> <时间> <版本号> <描述>
**/
public class MyAutoGenerator {
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");//获取系统路径
gc.setOutputDir(projectPath + "/src/main/java");//生成的路径
gc.setAuthor("冷鑫");//设置作者名称
gc.setFileOverride(false);//是否覆盖原有的
gc.setOpen(false);//是否打开资源管理器
gc.setServiceName("%sService");//去掉Service前缀
gc.setSwagger2(true); //实体属性 Swagger2 注解
mpg.setGlobalConfig(gc);
//配置数据源
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&charaterEncoding=UTF8");
// dsc.setSchemaName("public");
dsc.setUsername("root");
dsc.setPassword("密码");
mpg.setDataSource(dsc);
//包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("blog");//模块名称
pc.setParent("com.lengxin");//包名
pc.setEntity("Entity");//设置实体类名称
pc.setMapper("Mapper");//设置持久层名称
pc.setController("Controller");//设置显示层名称
pc.setService("service");//设置逻辑层名称
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setEntityLombokModel(true);//是否启动Lombok
strategy.setRestControllerStyle(true);//是否开启restFul驼峰命名
strategy.setInclude("user");//设置表名
strategy.setLogicDeleteFieldName("deleted");//逻辑删除,对应的表字段名
strategy.setVersionFieldName("version");//乐观锁,对应的表字段名
strategy.setControllerMappingHyphenStyle(true);//url下划线命名
//自动填充
TableFill createtime=new TableFill("createtime",FieldFill.INSERT);
TableFill updatetime=new TableFill("updatetime",FieldFill.INSERT);
ArrayList<TableFill> fields = new ArrayList<>();
fields.add(createtime);
fields.add(updatetime);
strategy.setTableFillList(fields);
mpg.setStrategy(strategy);//载入策略
mpg.execute();//执行
}
}