MyBatisPlus代码生成器的使用
时间: 2024-02-10 08:41:40 浏览: 73
mybatisplus代码生成器
MyBatisPlus代码生成器是一个非常方便的工具,可以帮助我们快速生成MyBatisPlus的Mapper、Entity、Service、Controller等代码。
使用步骤如下:
1.添加依赖
在pom.xml文件中添加MyBatisPlus的依赖:
```
<!-- MyBatisPlus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
<!-- MyBatisPlus Generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
```
2.配置代码生成器
在项目的src/main/resources目录下创建一个名为generatorConfig.xml的文件,用于配置代码生成器。
具体的配置项可以参考MyBatisPlus官方文档,这里只给出一个简单的示例:
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="context1">
<!-- 数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"
userId="root"
password="123456">
</jdbcConnection>
<!-- 默认false,是否覆盖已有文件 -->
<property name="overwrite" value="false"/>
<!-- 开启二级缓存 -->
<property name="cacheEnabled" value="true"/>
<!-- 配置实体类生成路径 -->
<javaModelGenerator targetPackage="com.example.mybatis_plus.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 配置Mapper接口生成路径 -->
<sqlMapGenerator targetPackage="com.example.mybatis_plus.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 配置Mapper.xml生成路径 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mybatis_plus.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 配置表信息 -->
<table tableName="user"></table>
<table tableName="role"></table>
</context>
</generatorConfiguration>
```
3.执行代码生成器
在项目根目录下创建一个名为CodeGenMain的Java类,用于执行代码生成器:
```
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.rules.NamingStrategy;
public class CodeGenMain {
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("test");
gc.setOpen(false);
gc.setFileOverride(false);
gc.setSwagger2(true);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.mybatis_plus");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setInclude("user", "role");
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
// 执行代码生成器
mpg.execute();
}
}
```
执行代码生成器后,会在指定的包路径下生成Mapper、Entity、Service、Controller等代码文件。
注意:由于代码生成器会覆盖已有的代码文件,因此在执行前需要备份好已有的代码文件。
阅读全文