pom.xml
<!--逆向工程插件--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> </dependency>
Generator類
package com.*****.depot.utils; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; public class Generator { public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File(" 你自己的 generatorConfig.xml======>路徑"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } }
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:起個名字 --> <!-- targetRuntime:設置生成的文件適用於那個 mybatis 版本 --> <context id="default" targetRuntime="MyBatis3"> <!--optional,指在創建class時,對注釋進行控制--> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的數據庫連接 wg_insert 為數據庫名字--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.1.116:3306/depot?useUnicode=true&characeterEncoding=utf-8&serverTimezone=UTC" userId="root" password="123456"></jdbcConnection> <!--非必須,類型處理器,在數據庫類型和java類型之間的轉換控制--> <javaTypeResolver> <!-- 默認情況下數據庫中的 decimal,bigInt 在 Java 對應是 sql 下的 BigDecimal 類 --> <!-- 不是 double 和 long 類型 --> <!-- 使用常用的基本類型代替 sql 包下的引用類型 --> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- targetPackage:生成的實體類所在的包 --> <!-- targetProject:生成的實體類所在的硬盤位置 --> <javaModelGenerator targetPackage="com.***pot.pojo" targetProject="src/main/java"> <!-- 是否允許子包 --> <property name="enableSubPackages" value="false"/> <!-- 是否對modal添加構造函數 --> <property name="constructorBased" value="true"/> <!-- 是否清理從數據庫中查詢出的字符串左右兩邊的空白字符 --> <property name="trimStrings" value="true"/> <!-- 建立modal對象是否不可改變 即生成的modal對象不會有setter方法,只有構造方法 --> <property name="immutable" value="false"/> </javaModelGenerator> <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <!-- 針對數據庫的一個配置,是否把 schema 作為字包名 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.****ot.mapper" targetProject="src/main/java"> <!-- 針對 oracle 數據庫的一個配置,是否把 schema 作為字包名 --> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!-- tableName是數據庫中的表名,domainObjectName是生成的JAVA模型名,后面的參數不用改,要生成更多的表就在下面繼續加table標簽 --> <!--1--> <table tableName="EQUIPMENT_STATE" domainObjectName="equipment_state" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>