1. 程式人生 > 實用技巧 >MyBatis逆向工程

MyBatis逆向工程

簡介

是一個專門為MyBatis框架使用者定製的程式碼生成器,可以快速的根據表生成對應的對映檔案,介面,以及bean類。支援基本的增刪改查,以及QBC風格的條件查詢。
官方文件地址
http://www.mybatis.org/generator/
官方工程地址
https://github.com/mybatis/generator/releases

配置

  1. 匯入逆向工程的jar包
    mybatis-generator-core-1.3.2.jar
  2. 編寫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>


  1. 執行程式碼生成器生成程式碼
@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檔案如下圖所示