好的,在 IntelliJ IDEA 中配置和使用 MyBatis Generator 是一个非常常见的场景。下面我将为您提供一个从零开始的、详细的配置指南,包含两种主流方法。
方法一:使用 Maven 插件(推荐)
这是最常用和集成度最高的方式,利用 Maven 来管理依赖和运行命令。
第1步:在 pom.xml 中配置插件
在您的 Maven 项目的 pom.xml 文件中的 <build><plugins> 部分添加 mybatis-generator-maven-plugin。
<build>
<plugins>
<!-- MyBatis Generator Maven 插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.2</version> <!-- 请使用最新版本 -->
<configuration>
<!-- 配置文件的路径,默认为 src/main/resources/generatorConfig.xml -->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite> <!-- 每次生成是否覆盖原有文件 -->
<verbose>true</verbose> <!-- 输出详细日志 -->
</configuration>
<dependencies>
<!-- 添加数据库驱动依赖,这里以 MySQL 为例 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version> <!-- 请与您的数据库版本匹配 -->
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
第2步:创建 Generator 配置文件
在 src/main/resources 目录下创建 generatorConfig.xml 文件。这是 MBG 的核心配置文件。
<?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 包的路径。
注意:如果在 pom.xml 的插件依赖里已经配置了,这里的 classPathEntry 可以注释掉。
如果遇到驱动类找不到的问题,可以取消注释并指定绝对路径。
-->
<!-- <classPathEntry location="/path/to/your/mysql-connector-java-8.0.33.jar"/> -->
<context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 防止生成的代码包含很多注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 数据库连接配置 -->
<jdbcConnection
driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC"
userId="your_username"
password="your_password">
</jdbcConnection>
<!-- Java 模型(实体类)生成配置 -->
<javaModelGenerator targetPackage="com.example.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- SQL Map 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>
<!-- 指定要生成代码的表 -->
<!-- tableName:数据库中的表名 -->
<!-- domainObjectName:对应的实体类名 -->
<!-- enableCountByExample, enableUpdateByExample等:是否生成Example相关方法,建议false -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
<!-- 可选:指定主键 -->
<!-- <generatedKey column="id" sqlStatement="MySql" identity="true"/> -->
</table>
<!-- 可以配置多个表 -->
<!-- <table tableName="order" domainObjectName="Order"/> -->
</context>
</generatorConfiguration>
重要配置说明:
-
jdbcConnection: 请务必修改为您的数据库URL、用户名和密码。 -
javaModelGenerator:targetPackage是实体类生成的包名。 -
sqlMapGenerator:targetPackage是XML映射文件在resources目录下的存放路径。 -
javaClientGenerator:targetPackage是Mapper接口生成的包名。 -
table: 配置您需要生成代码的具体表。enable...ByExample设置为false可以避免生成我们通常不使用的复杂查询方法。
第3步:在 IDEA 中运行 Maven 目标
- 打开 IDEA 右侧的 Maven 工具栏(如果没看到,请点击
View -> Tool Windows -> Maven)。 - 展开您的项目。
- 展开
Plugins->mybatis-generator。 - 双击
mybatis-generator:generate目标即可运行。
运行成功后,您会在指定的包路径下看到生成的 Entity、Mapper 接口 和 XML 文件。
方法二:使用独立 Jar 包和 IDEA 启动配置
这种方法不依赖 Maven,适合非 Maven 项目。
第1步:下载 MyBatis Generator 核心 Jar 包
从 Maven 中央仓库 下载最新版本的 mybatis-generator-core-x.x.x.jar 文件。
第2步:准备文件和目录结构
创建一个独立的目录,例如 mybatis-generator,并组织如下文件:
/mybatis-generator
│ mybatis-generator-core-1.4.2.jar
│ generatorConfig.xml (配置文件,内容同方法一)
│ /lib
│ mysql-connector-java-8.0.33.jar (您的数据库驱动JAR)
│ /src
│ /main
│ /java (生成的Java代码会放在这里)
│ /resources (生成的XML文件会放在这里)
您需要修改 generatorConfig.xml 中的路径,使其指向这个独立目录。
<!-- 在 generatorConfig.xml 中,需要指定驱动JAR的绝对路径或相对路径 -->
<classPathEntry location="lib/mysql-connector-java-8.0.33.jar"/>
<!-- 同时修改 targetProject,指向我们自定义的 src 目录 -->
<javaModelGenerator targetPackage="com.example.entity" targetProject="src"/>
<sqlMapGenerator targetPackage="mapper" targetProject="src"/>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src"/>
第3步:在 IDEA 中创建运行配置
- 点击 IDEA 顶部菜单
Run -> Edit Configurations...。 - 点击
+号,选择JAR Application。 - 进行如下配置:
-
Path to JAR: 选择您下载的
mybatis-generator-core-1.4.2.jar。 -
Program arguments:
-configfile generatorConfig.xml -overwrite-
-configfile: 指定配置文件路径。 -
-overwrite: 覆盖已存在的文件。
-
-
Working directory: 选择您创建的
mybatis-generator目录。
-
Path to JAR: 选择您下载的
- 点击
OK保存配置。
现在,您可以从 IDEA 的运行配置下拉菜单中选择这个配置并点击运行按钮来执行生成器。
总结与最佳实践
| 特性 | 方法一 (Maven 插件) | 方法二 (独立 Jar) |
|---|---|---|
| 依赖管理 | 由 Maven 管理,简单 | 需手动下载和管理 Jar 包 |
| 集成度 | 与项目高度集成,一键运行 | 需要单独配置运行参数 |
| 灵活性 | 配置在 pom.xml 中,标准统一 |
独立于项目,配置更自由 |
| 推荐度 | ★★★★★ (强烈推荐) | ★★★☆☆ (适用于非Maven项目) |
最佳实践建议:
-
版本管理:在
pom.xml中固定 MyBatis Generator 和数据库驱动的版本。 -
配置文件:将数据库连接信息(如密码)提取到外部的
.properties文件中,然后在generatorConfig.xml中通过<properties resource="db.properties"/>引入,以提高安全性。 -
生成策略:仔细配置
<table>标签的属性,只生成你需要的代码,避免代码冗余。 - 自定义:MBG 支持插件(Plugin)和类型处理器(Type Handler),你可以编写自定义逻辑来满足特殊需求,例如生成 Swagger 注解、Lombok 注解等。
希望这个详细的指南能帮助您在 IDEA 中顺利配置和使用 MyBatis Generator!