Mybatis逆向生成Mapper、xml和實體
阿新 • • 發佈:2019-02-05
最近公司專案比較多,需要我們快速開發節省時間,所以在建立實體和寫sql上面我們就不能浪費太多的時間,於是就研究了一下mybatis的逆向生成功能,事實證明效率大幅提升,並且程式碼也很規範,所以在這分享給大家,寫的不好的地方歡迎指出,相互交流。
具體的步驟如下:
1.先下載mybatis-generator-core-1.3.2.jar和mysql-connector-java-5.0.4-bin.jar這兩個jar 包;當然也可以直接maven新增,百度即可;這兩個的打包下載地址:http://download.csdn.net/download/huxiangen/10264223
2.建立generator.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> <classPathEntry location="D:\mysql-connector-java-5.0.4-bin.jar" /> <context id="Mysql2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ceshi" userId="root" password="root"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="com.test.model" targetProject="src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.test.mapper" targetProject="src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao" targetProject="src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <table schema="test" tableName="CLIENT" domainObjectName="Client" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
3.建立main方法執行,如下:
package com.test.util; 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 MybatisGeneratorUtil { public static void main(String[] args) { try { System.out.println("start generator ..."); List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File(MybatisGeneratorUtil.class.getResource("/generator.xml").getFile()); ConfigurationParser cp = new ConfigurationParser(warnings); System.out.println("dsdsds"); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); System.out.println("end generator!"); } catch (IOException e) { e.printStackTrace(); } catch (XMLParserException e) { e.printStackTrace(); } catch (InvalidConfigurationException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
4.將xml中的jdbcConnection連結密碼使用者改成自己需要逆向生成的資料庫連結;
table是設定需要生成的資料庫表,tableName是資料庫表名,domainObjectName是實體的名字;
javaModelGenerator是指定實體生成的位置;
sqlMapGenerator是指定mapper.xml檔案的位置;
javaClientGenerator是指定dao的生成檔案位置;
5.直接執行main方法,等待至少4-5秒,然後重新整理專案,即可以在指定資料夾下面看到生成的檔案;
具體的專案截圖:
需要原始碼的也可以到這個地址下載:http://download.csdn.net/download/huxiangen/10264234