mybatis逆向工程主要是通过数据库中的数据表逆向生成对应的实体以及mapper。
使用步骤如下:
1、导入依赖和插件
依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
插件:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<!--此处填写gengrator.xml文件路径-->
<configurationFile>
src/main/resources/generator.xml
</configurationFile>
</configuration>
</plugin>
2、在resources下创建generator.xml文件,并按要求填写
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration SYSTEM "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN">
-<generatorConfiguration>
<!--mysql 连接数据库jar 这里选择自己本地位置-->
<classPathEntry location="C:\...\mysql\mysql-connector-java\8.0.26\mysql-connector-java-8.0.26.jar"/>
-<context targetRuntime="MyBatis3" id="testTables">
-<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property value="true" name="suppressAllComments"/>
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection password="root" userId="root" connectionURL="jdbc:mysql://127.0.0.1:3306/data?serverTimezone=UTC" driverClass="com.mysql.jdbc.Driver"> </jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
-<javaTypeResolver>
<property value="false" name="forceBigDecimals"/>
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
-<javaModelGenerator targetProject="src/main/java" targetPackage="com.it.pojo">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property value="false" name="enableSubPackages"/>
<!-- 从数据库返回的值被清理前后的空格 -->
<property value="true" name="trimStrings"/>
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置如果maven工程只是单独的一个工程,targetProject="src/main/java" 若果maven工程是分模块的工程,targetProject="所属模块的名称",例如: targetProject="ecps-manager-mapper",下同-->
-<sqlMapGenerator targetProject="src/main/resources" targetPackage="mapper">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property value="false" name="enableSubPackages"/>
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
-<javaClientGenerator targetProject="src/main/java" targetPackage="com.it.dao" type="XMLMAPPER">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property value="false" name="enableSubPackages"/>
</javaClientGenerator>
<!-- 指定数据库表 多个表示,可用多个table标签-->
<table selectByExampleQueryId="false" enableSelectByExample="false" enableDeleteByExample="false" enableUpdateByExample="false" enableCountByExample="false" domainObjectName="ChartConfig" tableName="chart_config"> </table>
</context>
</generatorConfiguration>
3、双击插件运行逆向工程