在pom.xml中添加依赖
<!--mybatisplus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<!--添加 代码生成器 依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.1.1</version>
</dependency>
<!--模板引擎 freemarker-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
可以通过Lombok简化,如果不加将下面生成器的 strategy.setEntityLombokModel(true) 改为false
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
java部分代码
/**
* @description: 代码生成器
* @author: liuergu
* @date: 2019/7/23
* 参考官方文档:https://mp.baomidou.com/config/generator-config.html#%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE
**/
@Test
public void mybatis( ) {
// ================= 需要修改的配置 =================
// 数据源配置
String jdbcUrl = "jdbc:mysql://localhost:3306/hse?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull";1
String jdbcDriver = "com.mysql.cj.jdbc.Driver";
String jdbcUsername = "root";
String jdbcPassword = "root";
// 父级包名配置
String parentPackage = "com.activitytest.actdemo";1
// 生成代码的 @author 值
String author = "";
// 要生成代码的表名配置
String[] tables = {
// "t_xxx",//xxx表
// "t_aaa",//aaa表
"mybatistest"//bbbb表
};1
// ==================================================
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor(author);
gc.setBaseResultMap(true);
gc.setBaseColumnList(true);
// 生成完毕后是否打开输出目录
gc.setOpen(false);
// 为true时生成entity将继承Model类,单类即可完成基于单表的业务逻辑操作,按需开启
gc.setActiveRecord(false);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(jdbcUrl);
dsc.setDriverName(jdbcDriver);
dsc.setUsername(jdbcUsername);
dsc.setPassword(jdbcPassword);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
// 父级包名,按需修改
pc.setParent(parentPackage);
// 设置模块名, 会在parent包下生成一个指定的模块包
pc.setModuleName(null);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setRestControllerStyle(false);
strategy.setInclude(tables);
//自定义基础的 Entity 类公共字段,这个属性在我设置数据库表中包含的字段时,生成的实体就会没有那个属性
//strategy.setSuperEntityColumns("id");
// Controller驼峰连字符,如开启,则requestMapping由 helloWorld 变为 hello-world 默认false
strategy.setControllerMappingHyphenStyle(false);
strategy.setTablePrefix(pc.getModuleName() + "_");
// 开启后将使用lombok注解代替set-get方法,false则生成set-get方法
strategy.setEntityLombokModel(true);
// 在实体类中移除is前缀
strategy.setEntityBooleanColumnRemoveIsPrefix(true);
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
生成之后可能需要给mapper添加注解