Mybatis Generator (MBG)是Mybatis官方提供的一个代码生成器,可以根据数据库表结构自动生成对应的Java实体类、Mapper接口以及Mapper XML文件。使用MBG可以大大减少手写代码的工作量,提高开发效率。
本文将详细介绍如何使用MBG进行代码生成。
一、配置MBG
1.添加MBG依赖
在项目的pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
2.创建MBG配置文件
在项目的src/main/resources目录下创建一个名为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>
<!-- 数据库连接信息 -->
<context id="mysql" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false"
userId="root" password="123456">
</jdbcConnection>
<!-- Java模型生成器 -->
<javaModelGenerator targetPackage="com.example.model"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- SQL映射文件生成器 -->
<sqlMapGenerator targetPackage="com.example.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"></table>
</context>
</generatorConfiguration>
其中,jdbcConnection节点中的connectionURL、userId和password需要根据实际情况修改。javaModelGenerator、sqlMapGenerator和javaClientGenerator节点中的targetPackage和targetProject分别指定生成的Java实体类、Mapper XML文件和Mapper接口的包名和存放路径。table节点中的tableName指定要生成代码的表名。
二、执行MBG
执行MBG的方式有两种:命令行执行和Maven插件执行。
1.命令行执行
在命令行中执行以下命令:
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite
其中,mybatis-generator-core-x.x.x.jar是MBG的jar包文件名,generatorConfig.xml是MBG配置文件名,-overwrite表示覆盖已有文件。
执行成功后,会在指定的targetProject目录下生成Java实体类、Mapper XML文件和Mapper接口。
2.Maven插件执行
在项目的pom.xml文件中添加以下插件:
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
其中,configurationFile节点指定MBG配置文件的路径,overwrite节点表示覆盖已有文件。
执行Maven命令:
mvn mybatis-generator:generate
执行成功后,会在指定的targetProject目录下生成Java实体类、Mapper XML文件和Mapper接口。
三、总结
使用Mybatis Generator可以快速生成Java实体类、Mapper接口和Mapper XML文件,减少手写代码的工作量,提高开发效率。在使用MBG时,需要注意配置文件中的数据库连接信息、生成文件的存放路径和要生成代码的表名等,以确保生成的代码符合实际需求。