Mybatis入門實例(三)——使用MyBatis Generator生成DAO

雖然MyBatis很方便,但是想要手寫全部的mapper還是很累人的,好在MyBatis官方推出了自動化工具,可以根據數據庫和定義好的配置直接生成DAO層及以下的全部代碼,非常方便.

需要注意的是,雖然自動化工具需要一個配置文件,但是MyBatis的配置文件仍然不能少,自動化工具的配置文件用於對生成的代碼的選項進行配置,MyBatis的配置文件纔是運行時的主要配置文件.

在類路徑下面建立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>
    <!-- 設置mysql驅動路徑 -->
    <classPathEntry location="C:\Users\lscm\.m2\repository\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar" />
    <!-- 此處指定生成針對MyBatis3的DAO -->
    <context id="Mysql" targetRuntime="MyBatis3">
        <!-- 需求特殊轉換使用可以增加相應的plugin -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
        <!-- jdbc連接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://172.16.18.172:3306/paytest" userId="root" password="root" />
        <!-- 生成vo對象 -->
        <javaModelGenerator targetPackage="com.nextxworkroom.payment.gateway.model" targetProject="src/main/java" />
        <!-- 生成用於查詢的Example對象 -->
        <sqlMapGenerator targetPackage="com.nextxworkroom.payment.gateway.dao.mapper" targetProject="src/main/java" />
        <!-- 生成DAO的類文件以及配置文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.nextxworkroom.payment.gateway.dao.mapper" targetProject="src/main/java" />
        <!-- 想要生成的數據庫表,自動化工具會根據該表的結構生成相應的vo對象 -->
        <table schema="payGateway" tableName="T_PAYMENT_ORDER" domainObjectName="PaymentOrder" />
    </context>
</generatorConfiguration>

 需要注意的是上面的targetProject此處應寫成文件路徑的形式,而不是項目路徑,指定類文件生成到src/main/java的

com.nextxworkroom.payment.gateway.model
包下面,如果是用插件的話targetProject直接寫項目名稱即可,比如直接寫MyBatis_Generator.

上面我僅僅簡單的寫了些註釋,稍後我會將詳細的配置選項以附件的形式發上來

    java -jar mybatis-generator-core-1.3.1.jar -configfile ../src/generatorConfig.xml -overwrite  

後續我們還會怎樣增加一些特殊處理方案,如更新時間,targetProject相關目錄優化等....

請參考我這邊相關github相關項目:https://github.com/nf25tod/mybatis-generator.git


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章