1、使用Maven插件进行逆向工程
A.配置逆向工程文件generator.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="false"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><!--com.mysql.cj.jdbc.Driver是最新版本MySQL驱动连接方式--><!--?serverTimezone=UTC设置时区--><jdbcConnectiondriverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql:///ssm?serverTimezone=UTC"userId="root"password="123456"><!--设置可以获取tables remarks信息--><property name="useInformationSchema" value="true"/><!--设置可以获取remarks信息--><property name="remarks" value="true"/></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成POJO/Bean类的位置 --><javaModelGenerator targetPackage="com.fcant.ssmcom.bean"targetProject=".\src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置 --><sqlMapGenerator targetPackage="mapper"targetProject=".\src\main\resources"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.fcant.ssmcom.mapper"targetProject=".\src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!--指定数据库表的生成策略--><table tableName="ss_product" domainObjectName="Product"enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false"selectByExampleQueryId="false"></table></context></generatorConfiguration>
B.需要自行更改以下配置项
C.在pom文件添加Mybatis逆向工程插件和相应的依赖包-Mybatis-Generator
<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency><!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.1.2</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency><!-- https://mvnrepository.com/artifact/tk.mybatis/mapper --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency><!-- https://mvnrepository.com/artifact/tk.mybatis/mapper --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency></dependencies><build><plugins><!--Mybatis逆向工程的插件--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><!--指定本地的逆向工程设置文件--><configurationFile>src/main/resources/generator.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration><!--在插件配置数据库驱动包以防止插件运行找不到驱动包--><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version></dependency></dependencies></plugin></plugins></build>
D.需要自行更改的地方
E.执行逆向工程
2、使用配置类进行逆向工程
A.导入相关jar包
B.配置逆向工程文件mdb.xml-将该文件放至src目录下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><!-- <property name="suppressDate" value="true"/> --><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><!--com.mysql.cj.jdbc.Driver是最新版本MySQL驱动连接方式--><!--?serverTimezone=UTC设置时区--><jdbcConnectiondriverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql:///ssm?serverTimezone=UTC"userId="root"password="123456"><!--设置可以获取tables remarks信息--><property name="useInformationSchema" value="true"/><!--设置可以获取remarks信息--><property name="remarks" value="true"/></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成POJO/Bean类的位置 --><javaModelGenerator targetPackage="com.fcant.ssmcom.bean"targetProject=".\src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置 --><sqlMapGenerator targetPackage="mapper"targetProject=".\src\main\resources"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.fcant.ssmcom.mapper"targetProject=".\src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!--指定数据库表的生成策略--><!--schema属性标签可以解决JDBC连接MySQL找不到主键的问题--><!--catalog属性标签解决JDBC对catalog的支持性而不能识别数据库的主键,但是会在映射文件表前自动生成"数据库名称.."--><!-- <table tableName="busdata" domainObjectName="BusData" schema="itbus"></table>--><table tableName="ss_product" domainObjectName="Product"enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false"selectByExampleQueryId="false"></table></context></generatorConfiguration>
C.需要自行更改以下配置项
D.配置逆向工程工具类
/***Generator**@description:Mybatis逆向工程工具类,在测试包运行降低耦合*@author:Fcscanf@樊乘乘*@date:2018-08-05下午16:51*/public class Generator {public static void main (String[] args) throws IOException,XMLParserException,SQLException,InterruptedException,InvalidConfigurationException{List<String> warings = new ArrayList<String>();boolean overwrite = true;File configFile = new File ("mdb.xml");ConfigurationParser configurationParser =new ConfigurationParser(warings);Configuration configuration = configurationParser.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator =new MyBatisGenerator(configuration,callback,warings);myBatisGenerator.generate(null);}}
E.运行工具类执行逆向工程

版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论