mybatis學習(十二)——mybatis逆向工程


MyBatis Generator (MBG)是一個mabatis的代碼生成器,能夠根據表自動生成mapper接口,mapper.xml文件,javaBean文件。

1、MBG的下載

打開https://github.com/mybatis/,可以看到有多個項目,找到generator項目,並下載下來。

解壓之后lib目錄下就有所需要的jar包

將第一個jar包導入項目中即可

2、MBG文檔

http://www.mybatis.org/generator/

打開之后選擇快速指導,進入xml配置

 3、mbg.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="DB2Tables" targetRuntime="MyBatis3Simple">
    <!-- jdbc配置 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/spring_mybatis?useUnicode=true&amp;characterEncoding=UTF-8"
        userId="root" password="tuniu520">
    </jdbcConnection>

    <javaTypeResolver>
        <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!-- javaBean的生成 -->
    <javaModelGenerator targetPackage="com.pjf.mybatis.po"
        targetProject=".\src/main/java">
        <property name="enableSubPackages" value="true" />
        <property name="trimStrings" value="true" />
    </javaModelGenerator>
    <!-- xml映射文件的生成 -->
    <sqlMapGenerator targetPackage="com.pjf.mybatis.dao"
        targetProject=".\src/main/resources">
        <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
    <!-- mapper接口的生成 -->
    <javaClientGenerator type="XMLMAPPER"
        targetPackage="com.pjf.mybatis.dao" targetProject=".\src/main/java">
        <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
    <!-- 指定逆向分析哪些表,根據表創建JavaBean -->
    <table tableName="hotel" domainObjectName="Hotel"></table>
    <table tableName="city" domainObjectName="City"></table>
</context>
</generatorConfiguration>
targetPackage表示將生成的文件放在哪個包下面
targetProject表示生成的文件放在哪個目錄下
domainObjectName表示對應的JavaBean名

具體的一些屬性的意思可以查詢文檔

 可以看到上面的xml分別配置了JavaBean、mapper接口、mapper.xml文件、還有表名和對應的JavaBean名。

4、逆向工程生成

打開剛剛文檔,選擇Running MyBatis Generator

點擊進入

復制下代碼,

編寫逆向工程類類

package com.pjf.mybatis;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

public class Test {

    @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文件中targetRuntime屬性的值改為MyBatis3。

修改之后可以看到生成了比較復雜的增刪改查

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM