Mapper 代码生成
MyBatis Generator (MBG) 可自动生成基础 CRUD 代码,下面介绍其使用方法。
配置 MBG 插件
在 pom.xml 中添加插件依赖:
XML
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.2</version>
<configuration>
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
配置生成规则
创建 generatorConfig.xml:
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>
<!-- 数据库驱动 -->
<classPathEntry location="D:/mysql-connector-java-8.0.33.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis_demo"
userId="root"
password="123456">
</jdbcConnection>
<!-- 生成实体类 -->
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成 Mapper XML -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成 Mapper 接口 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 指定要生成的表 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false">
</table>
</context>
</generatorConfiguration>
注意:推荐禁用
*ByExample方法(设为 false),避免生成冗余代码。
执行生成命令
Bash
mvn mybatis-generator:generate
生成后的文件结构:
Java
src/main/java/
└── com/example/
├── entity/User.java
└── mapper/UserMapper.java
src/main/resources/
└── mapper/UserMapper.xml
自定义生成器
可通过实现 Plugin 接口定制生成逻辑:
text
public class CustomPlugin implements Plugin {
@Override
public boolean validate(List<String> warnings) {
return true;
}
@Override
public List<GeneratedJavaFile> contextGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
// 自定义生成额外 Java 文件
return null;
}
}
要点总结
- MBG 自动生成 Entity、Mapper 接口、XML 映射文件
- 配置
generatorConfig.xml指定表与包映射关系 - 推荐禁用
*ByExample减少冗余代码 - 通过
Plugin接口可定制生成逻辑
文章存放路径:articles/MYBATIS/入门/MyBatis 概述与环境搭建/Mapper 代码生成.md
📝 发现内容有误?点击此处直接编辑