背景:
在日常Java项目开发过程中,需要对接数据库写入对应的数据,需要写一系列实体类(Entity)、Mapper 接口、Mapper XML 文件等,现在可以在 IntelliJ IDEA 中使用 MyBatis Generator(简称 MBG)可以极大地提升开发效率,它能根据数据库表自动生成对应的实体类(Entity)、Mapper 接口、Mapper XML 文件。
一、添加依赖
在pom.xml中添加Mybatis Generator的依赖和插件
<build>
<plugins>
<!-- MyBatis Generator 插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.2</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
其中configurationFile配置填写generatorConfig.xml的地址,并且generatorConfig.xml文件通常添加在resource资源文件夹下,但不要放在Mapper文件夹下方,容易导致SpringBoot扫描到后启动失败。
二、创建配置文件generatorConfig.xml
<?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>
<!-- 数据库驱动jar包的位置 -->
<classPathEntry location="/Users/liangjiangbin/Tools/jar/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar"/>
<!-- 数据库连接信息 -->
<context id="default" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://mysqlURL:3306/your_database"
userId="your_username"
password="your_password"/>
<!-- Java 实体类生成配置 -->
<javaModelGenerator targetPackage="com.halvie.ims.infra.db.entity" targetProject="src/main/java"/>
<!-- Mapper XML 文件生成配置 -->
<sqlMapGenerator targetPackage="mapper.center" targetProject="src/main/resources"/>
<!-- Mapper 接口生成配置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.halvie.ims.infra.db.mapper"
targetProject="src/main/java"/>
<!-- 指定要生成的表 -->
<table tableName="sync_sap_purchase_order_disable" domainObjectName="OmsPurchaseOrderDisableDO"/>
<!-- 可以添加多个 table 标签 -->
</context>
</generatorConfiguration>
1.Entity实体类的文件夹路径如下,所以targetPackage路径写的是Entity的具体文件夹路径,targetProject写到java层即可:
2.Mapper XML文件夹路径如下,所以targetPackage路径写的是XML文件的具体文件夹路径,targetProject写到resources层即可:
3.Mapper接口文件的文件夹路径如下,所以targetPackage路径写的是Mapper接口文件的具体文件夹路径,targetProject写到java层即可:
4.指定生成的表填写具体的表名,domainObjectName则是具体生成DO的类名
三、在IDEA中运行MyBatis Generator
- 在 IDEA 右侧打开 Maven 工具窗口(View → Tool Windows → Maven)。
- 展开你的项目 → Plugins → mybatis-generator。
- 双击
mybatis-generator:generate,即可运行生成器。
生成完之后会生成以下这几个文件
OmsPurchaseOrderDisableDO.java
OmsPurchaseOrderDisableDOExample.java
OmsPurchaseOrderDisableDOMapper.java
OmsPurchaseOrderDisableDOMapper.xml
四、注意事项
- 覆盖问题:如果
overwrite=true,每次生成会覆盖已有文件;否则不会覆盖,但可能无法更新字段变更。