0%

【MybatisPlus】代码生成器

MybatisPlus的代码生成器配置与使用


1 代码生成器

1.1 生成器比较

  • Mybatis:
  • 代码生成器基于xml文件进行生成
  • 生成器可以生成:实体类,Mapper接口、Mapper映射文件
  • Mybatis-Plus
  • 代码生成器基于java代码来实现
  • 生成器可以生成:实体类,Mapper接口、Mapper映射文件、Service层、Controller层

1.3 依赖引入

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- MybatisPlus代码生成器 -->
<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.3</version>
</dependency>

1.3 生成器编写

  • (1)全局配置
1
2
3
4
5
6
7
8
9
10
//1. 全局配置(com.baomidou.mybatisplus.generator.config.GlobalConfig)
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setActiveRecord(true) //实体类开启AR模式
.setAuthor("letere") //作者信息
.setOutputDir(System.getProperty("user.dir") + "/src/main/java/") //文件生成路径
.setFileOverride(true) //文件覆盖
.setIdType(IdType.AUTO) //主键类型
.setServiceName("%sService") //设置Service名字,默认开头会多出一个I字母
.setBaseResultMap(true) //生成基本的结果返回集
.setBaseColumnList(true); //生成字段列表
  • (2)数据源配置
  • SpringBoot项目还要在applicaiton.yaml中配置数据源才可以
1
2
3
4
5
6
7
//2. 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL) //数据库类型
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUsername("root")
.setPassword("123")
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8");
  • (3)策略配置
1
2
3
4
5
6
//3. 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true) //全局大写命名
.setEntityLombokModel(true) //Lombok实体类
.setNaming(NamingStrategy.underline_to_camel) //驼峰命名
.setInclude("user"); //数据库表名(多个表,传数组)
  • (4)包名配置
1
2
3
4
5
6
7
8
//4. 包名配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.letere.mp") //父包位置
.setMapper("mapper") //Mapper文件包名
.setXml("mapper") //xml文件包名
.setService("service") //service文件包名
.setController("controller") //controller文件包名
.setEntity("bean"); //entity文件包名
  • (5)整合配置与执行
1
2
3
4
5
6
7
8
9
10
//5. 整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig);


//6. 代码生成
autoGenerator.execute();

1.4 生成效果

1.5 Service说明