1、准备工作
CREATE DATABASE mybatis_plus_db;
USE `mybatis_plus_db`;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户主键' ,
`name` varchar(20) DEFAULT NULL COMMENT '用户名字',
`age` int DEFAULT NULL COMMENT '用户年龄',
`version` int DEFAULT '1' COMMENT '乐观锁',
`deleted` int DEFAULT '0' COMMENT '逻辑删除',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (id)
);
INSERT INTO user (id, name, age) VALUES
(1, 'Jone', 18),
(2, 'Jack', 20),
(3, 'Tom', 28),
(4, 'Sandy', 21),
(5, 'Billie', 24);
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/db4f9f739766ec7ca468b513f0ebec64.png)
2、导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
3、编写配置文件application.yml
server:
port: 9000
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis_plus_db?useSSL=false&serverTimezone=GMT%2B8
driver-class-name: com.mysql.jdbc.Driver
thymeleaf:
cache: false
profiles:
active: dev
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
4、搭建代码自动生成器
package com.jin;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
public class CodeGenerator{
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir("F:\\kxy_parent\\service\\service_edu" + "/src/main/java");
gc.setFileOverride(false);
gc.setOpen(false);
gc.setAuthor("酷小亚");
gc.setServiceName("%sService");
gc.setDateType(DateType.ONLY_DATE);
gc.setIdType(IdType.ID_WORKER_STR);
mpg.setGlobalConfig(gc);
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus_db?useSSL=false&serverTimezone=GMT%2B8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
PackageConfig pc = new PackageConfig();
pc.setParent("com.jin");
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
pc.setEntity("pojo");
mpg.setPackageInfo(pc);
StrategyConfig sc = new StrategyConfig();
sc.setInclude("edu_teacher");
sc.setNaming(NamingStrategy.underline_to_camel);
sc.setTablePrefix(pc.getModuleName()+ "_");
sc.setColumnNaming(NamingStrategy.underline_to_camel);
sc.setEntityLombokModel(true);
sc.setLogicDeleteFieldName("deleted");
TableFill gmt_create = new TableFill("create_time", FieldFill.INSERT);
TableFill gmt_modified = new TableFill("update_time", FieldFill.INSERT_UPDATE);
ArrayList<TableFill> tableFills=new ArrayList<>();
tableFills.add(gmt_create);
tableFills.add(gmt_modified);
sc.setTableFillList(tableFills);
sc.setVersionFieldName("version");
sc.setRestControllerStyle(true);
sc.setControllerMappingHyphenStyle(true);
mpg.setStrategy(sc);
mpg.execute();
}
}
效果图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e1f30316f2f66b891d3317b655674b28.png)