文章目录
MyBatis-Plus中代码生成器
- entity/pojo(实体类)与表名关联,大写驼峰对应下划线
- 表名:t_user
- 实体类:User
- 表名:user
- 实体类:User
- 表名:user_t
- 实体类:User
1、准备数据库与表
CREATE DATABASE `mybatis_plus`
USE `mybatis_plus`;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`uid` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_name` VARCHAR(30) CHARACTER SET utf8mb3 COLLATE utf8_general_ci DEFAULT NULL COMMENT '姓名',
`age` INT DEFAULT NULL COMMENT '年龄',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
`sex` VARCHAR(10) DEFAULT NULL,
PRIMARY KEY (`uid`)
);
INSERT INTO `t_user`(`uid`,`user_name`,`age`,`email`,`sex`) VALUES
(1,'李四',21,'list@qq.com','男'),
(2,'Billie',24,'test5@qq.com','男'),
(3,'HeXi',20,'test6@qq.com','男'),
(4,'馨馨',21,'xinxin@qq.com','女'),
(5,'小红',22,'xiaohong@qq.com','女'),
(6,'兮兮',20,'xixi@qq.com','女');
2、创建SpingBoot项目
- 省略
3、pom.xml导入jar包配置刷新Maven
<!--MySQL驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--MyBatis-Plus启动器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!--代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--逆向生成会生成freemarker引擎模板-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
4、FastAutoGeneratorTest类(用于生成代码)
package com.sgz;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
/**
* 日期:2022/8/15 - 9:32
* 需求:MyBatis-Plus代码生成器
*/
public class FastAutoGeneratorTest {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false", "root", "111111")
.globalConfig(builder -> {
builder.author("sgz") // 设置作者
//.enableSwagger() // 开启Swagger模式
.fileOverride() // 覆盖已生成文件
.outputDir("D://mybatis_plus"); // 指定输出目录
}).packageConfig(builder -> {
builder.parent("com.sgz") // 设置包名
.moduleName("mybatisplus") // 设置父包模块名,可以不设置
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://mybatis_plus")); // 设置mapper.xml生成路径
}).strategyConfig(builder -> {
builder.addInclude("t_user") // 设置需要生成的数据库表名
.addTablePrefix("t_", "c_") // 设置过滤表前缀
.addTableSuffix("_t"); // 设置过滤表后缀
}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板
.execute(); // 执行
}
}
5、成功生成