Mybatis-Generator代码生成器插件
时间: 2025-02-25 20:14:44 浏览: 37
### MyBatis Generator 插件使用教程
#### 配置环境与安装插件
为了在项目中集成并使用 MyBatis Generator 工具,需先确保环境中已准备好必要的构建工具以及数据库连接。对于 Maven 项目而言,在 `pom.xml` 文件内的 `<build>` 标签下添加如下所示的 MBG 插件配置[^4]。
```xml
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!-- 自定义配置 -->
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
</plugin>
```
#### 编写配置文件
创建名为 `generatorConfig.xml` 的 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>
<context id="DB2Tables" targetRuntime="MyBatis3Simple">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC"
userId="root"
password="password"/>
<javaModelGenerator targetPackage="com.example.model" targetProject="./src/main/java"/>
<sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources"/>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="./src/main/java"/>
<table tableName="users" domainObjectName="User"/>
</context>
</generatorConfiguration>
```
上述配置指定了 MySQL 数据库作为数据源,并设置了实体类和 Mapper 接口所在的 Java 包名及其对应的物理位置[^1]。
#### 执行代码生成过程
完成以上准备工作之后,可以通过命令行执行 Maven 命令 `mvn mybatis-generator:generate` 来触发实际的代码生成功能。这一步骤会读取之前编写的配置文件,并依据其中的信息自动生产相应的 DAO 层接口及其实现方法等代码片段。
#### 示例展示
假设有一个名称为 users 的表,则通过上面提到的过程将会得到类似于以下这样的结果:
- 实体类 User.java:
```java
public class User {
private Integer id;
private String name;
public Integer getId() {return this.id;}
public void setId(Integer id) {this.id = id;}
public String getName() {return this.name;}
public void setName(String name) {this.name = name;}
}
```
- 映射文件 userMapper.xml:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectByPrimaryKey" resultType="com.example.model.User">
select * from users where id=#{id};
</select>
...
</mapper>
```
- Mapper 接口 UserMapper.java:
```java
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
/**
* This method was generated by MyBatis Generator.
*/
User selectByPrimaryKey(Integer id);
}
```
阅读全文
相关推荐

















