首先,我们需要在项目中添加MyBatis Generator Maven插件,该插件可自动化生成MyBatis的mappper、model和example类。下面是整合MyBatis Generator Maven插件的步骤:
- 添加插件依赖
在pom.xml文件的插件列表中,添加MyBatis Generator Maven插件的依赖:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${tk.mybatis.mapper.version}</version>
</dependency>
</dependencies>
</plugin>
其中,mysql和tk.mybatis.mapper分别是MySQL驱动和通用Mapper依赖,需要定义版本号。
- 配置插件
在pom.xml文件中,通过配置MyBatis Generator插件来定义生成器的行为:
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
其中,configurationFile属性指定MyBatis Generator配置文件的路径,overwrite属性指定是否覆盖已存在的文件,verbose属性指定是否输出详细日志信息。
- 编写配置文件
在项目的src/main/resources目录下新建generator目录,并在该目录下编写MyBatis Generator的配置文件generatorConfig.xml。以生成UserMapper为例,配置文件内容如下:
<?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.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis_test?characterEncoding=utf8&serverTimezone=UTC"
userId="root" password="root">
</jdbcConnection>
<javaModelGenerator targetPackage="com.example.mybatis.model"
targetProject="src/main/java">
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.example.mybatis.mapper"
targetProject="src/main/resources">
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.example.mybatis.mapper"
targetProject="src/main/java" type="XMLMAPPER">
</javaClientGenerator>
<table tableName="user" domainObjectName="User" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>
其中,jdbcConnection配置数据源连接信息,javaModelGenerator配置生成的model类的包名和输出路径,sqlMapGenerator配置生成的mapper.xml文件的包名和输出路径,javaClientGenerator配置生成的mapper接口类的包名和输出路径,而table则代表表名以及对应的model类名和是否生成example类。
- 运行插件
在命令行中执行下面的命令即可运行MyBatis Generator Maven插件:
mvn mybatis-generator:generate
执行完成后,将在目标路径中生成mapper.xml和model类。
示例1:在SpringBoot项目中整合MyBatis Generator Maven插件
在SpringBoot项目中整合MyBatis Generator Maven插件的步骤非常简单,在pom.xml文件中添加插件依赖和配置,然后运行插件即可。下面是一个简单的例子:
- 在pom.xml文件中添加插件依赖和配置
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${tk.mybatis.mapper.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
其中,mapper-spring-boot-starter是通用Mapper的SpringBoot启动器依赖。generatorConfig.xml文件的内容和前面示例中的一样,此处不再赘述。
- 运行插件
在命令行中执行下面的命令即可运行MyBatis Generator Maven插件:
mvn mybatis-generator:generate
示例2:使用MyBatis Generator Maven插件生成带有Lombok注解的model类
在实际开发中,为了简化model类的编写,我们可以使用Lombok注解来生成model类的getter、setter、toString、equals、hashCode等方法。下面是一个示例:
- 在pom.xml文件中添加Lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
- 修改generatorConfig.xml文件
将JavaModelGenerator节点修改为如下内容:
<javaModelGenerator targetPackage="com.example.mybatis.model" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
<property name="rootClass" value="lombok.Data"/>
</javaModelGenerator>
其中,enableSubPackages和trimStrings属性分别为是否启用子包和是否自动trim字符串,而rootClass属性则指定model类的基类为Lombok的@Data注解。
- 运行插件
在命令行中执行mvn mybatis-generator:generate命令即可生成带有Lombok注解的model类。
以上是整合MyBatis Generator Maven插件的完整攻略,其中包含了两个项目完成的示例,相信可以对读者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot如何整合mybatis-generator-maven-plugin 1.4.0 - Python技术站