MyBatis逆向工程
阿新 • • 發佈:2020-07-18
簡介
是一個專門為MyBatis框架使用者定製的程式碼生成器,可以快速的根據表生成對應的對映檔案,介面,以及bean類。支援基本的增刪改查,以及QBC風格的條件查詢。
官方文件地址
http://www.mybatis.org/generator/
官方工程地址
https://github.com/mybatis/generator/releases
配置
- 匯入逆向工程的jar包
mybatis-generator-core-1.3.2.jar - 編寫MBG的配置檔案
<?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="DB2Tables" targetRuntime="MyBatis3"> <!-- 設定連線資料庫的資訊 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="liushuai"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- <u>javabean</u>的生成策略 --> <javaModelGenerator targetPackage="com.atguigu.bean" targetProject=".\src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 對映檔案的生成策略 --> <sqlMapGenerator targetPackage="com.atguigu.mapper" targetProject=".\conf"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- <u>mapper</u>介面的生成策略 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mapper" targetProject=".\src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 設定要將資料庫中的哪張表逆向生成哪一個<u>javabean</u> --> <table tableName="emp" domainObjectName="Emp"></table> <table tableName="dept" domainObjectName="Dept"></table> </context> </generatorConfiguration>
- 執行程式碼生成器生成程式碼
@Test public void testMBG() throws Exception { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("mbg.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); }
應用
要注意資料庫中的表與mbg.xml中設定的相同,會自動生成mapper和bean檔案如下圖所示