Mybatis逆向工程是一个自动生成Mybatis Mapper接口、XML文件和Java实体类的工具,可以提高开发效率,避免手动编写大量的重复代码。
下面是搭建Mybatis逆向工程的步骤:
1.添加相关依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
添加以下插件:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<overwrite>true</overwrite>
<configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
</configuration>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>com.mysql</groupId>-->
<!-- <artifactId>mysql-connector-j</artifactId>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
</dependencies>
</plugin>
重新构建maven项目。
2.编写Mybatis Generator配置文件
在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>
<!--数据库驱动jar -->
<!-- <classPathEntry location="D:\tomcat\lib\mysql-connector-java-5.1.5.jar" /> -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!--去除注释 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/learn?useSSL=false" userId="root" password="123456">
</jdbcConnection>
<!--默认false Java type resolver will always use java.math.BigDecimal if the database column is of type DECIMAL or NUMERIC. -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--生成实体类 指定包名 以及生成的地址 (可以自定义地址,但是路径不存在不会自动创建 使用Maven生成在target目录下,会自动创建) -->
<javaModelGenerator targetPackage="com.learn.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--生成SQLMAP文件 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!--生成Dao文件 可以配置 type="XMLMAPPER"生成xml的dao实现 context id="DB2Tables" 修改targetRuntime="MyBatis3" -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.learn.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等-->
<!-- <table tableName="t_teacher" domainObjectName="Teacher" enableCountByExample="false"-->
<!-- enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"-->
<!-- delimitIdentifiers="true">-->
<!-- <property name="useActualColumnNames" value="true" />-->
<!-- </table>-->
</context>
</generatorConfiguration>
其中,需要修改以下配置:
- 数据库驱动类:classPathEntry节点的location属性需要指定mysql-connector-java的jar包路径。
- Java实体类:javaModelGenerator节点的targetPackage属性指定实体类生成的包名,targetProject属性指定实体类生成的目录。
- Mybatis映射文件:sqlMapGenerator节点的targetPackage属性指定映射文件生成的包名,targetProject属性指定映射文件生成的目录。
- Mapper接口:javaClientGenerator节点的targetPackage属性指定Mapper接口生成的包名,targetProject属性指定Mapper接口生成的目录。
- 数据库连接配置:jdbcConnection节点的driverClass属性需要指定数据库驱动类,connectionURL属性需要指定数据库连接地址,userId和password属性需要指定数据库用户名和密码。
- 数据库表配置:table节点的tableName属性需要指定要生成的表名,domainObjectName属性需要指定生成的实体类名称,generatedKey节点用于指定主键生成策略。
3.运行
在右侧maven中点击mybatis-generator:generate运行