Mybatis逆向工程

Time: 2024-06-20 Thursday 11:28:01
Author: Jackasher

Mybatis逆向工程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class CodeGenerator {

public static void main(String[] args) {
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 设置输出目录
.setAuthor("Your Name") // 设置作者
.setOpen(false) // 设置生成后是否自动打开目录
.setFileOverride(true) // 设置文件存在时是否覆盖
.setServiceName("%sService") // 设置Service接口名后缀
.setIdType(IdType.AUTO) // 设置主键生成策略
.setSwagger2(true); // 设置是否生成Swagger注解

// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL) // 设置数据库类型
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&serverTimezone=UTC") // 数据库连接URL
.setUsername("root") // 数据库用户名
.setPassword("password") // 数据库密码
.setDriverName("com.mysql.cj.jdbc.Driver"); // 数据库驱动类名

// 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user", "order") // 指定需要生成代码的表名
.setNaming(NamingStrategy.underline_to_camel) // 设置表名转类名策略
.setColumnNaming(NamingStrategy.underline_to_camel) // 设置列名转属性名策略
.setEntityLombokModel(true) // 设置实体类使用Lombok模型
.setRestControllerStyle(true) // 设置Controller使用REST风格
.setTablePrefix(new String[]{"tbl_"}); // 设置表名前缀

// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example") // 设置父包名
.setMapper("mapper") // 设置Mapper接口所在的子包名
.setEntity("entity") // 设置实体类所在的子包名
.setController("controller") // 设置Controller所在的子包名
.setService("service") // 设置Service所在的子包名
.setXml("mapper"); // 设置Mapper XML文件所在的子包名

// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setXml(null) // 不生成XML文件
.setController("templates/controller.java.vm") // 设置Controller模板路径
.setEntity("templates/entity.java.vm") // 设置实体类模板路径
.setMapper("templates/mapper.java.vm"); // 设置Mapper接口模板路径

// 整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig)
.setTemplate(templateConfig);

// 执行生成
autoGenerator.execute();
}
}

SpringBoot3配置pom

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.6</version>
</dependency>
<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>

Mybatis逆向工程
http://example.com/2024/06/20/Mybatis逆向工程/
作者
Jack Asher
发布于
2024年6月20日
许可协议