1. 程式人生 > >MyBatis之程式碼生成器Generator(命令列方式執行)

MyBatis之程式碼生成器Generator(命令列方式執行)

1      簡介

通過MyBatis Generator可以自動生成資料庫操作的程式碼。

官網介紹了多種執行“Mybatis Generator”的方式來生成程式碼,如下圖所示:

                                       

本文僅通過例項介紹如何通過命令列的方式執行“Mybatis Generator”來生成JDBC訪問MySQL的程式碼。

2      下載Mysql JDBC驅動

 下載地址

http://mvnrepository.com/artifact/mysql/mysql-connector-java

本示例下載的版本是“mysql-connector-java-5.1.29.jar”。

3      下載mybatis-generator

maven的下載地址:

http://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core

github的下載地址:

https://github.com/mybatis/generator/releases

本示例下載的版本是“mybatis-generator-core-1.3.5.jar”。

4      準備一個數據庫的配置檔案

檔名:generator.properties

檔案內容:

classPath=mysql-connector-java-5.1.29.jar

jdbc_driver = com.mysql.jdbc.Driver

jdbc_url = jdbc:mysql://IP地址
:3306/資料庫名稱?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull jdbc_user = root jdbc_password = password project = F:\\SSM\\mybatis\\outPut

上面的“project”屬性用於指定程式碼的生成目錄。

5      準備一個xml的配置檔案

檔名稱為: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>

    <!-- 引入配置檔案 -->

    <properties url="file:///f:/SSM/mybatis/generator.properties"/>

    <!-- 指定資料連線驅動jar地址 -->

    <classPathEntry location="${classPath}" />

    <!-- 一個數據庫一個context -->

    <context id="infoGuardian">

        <!-- 註釋 -->

        <commentGenerator >

            <property name="suppressAllComments" value="true"/><!-- 是否取消註釋 -->

            <property name="suppressDate" value="false" /> <!-- 是否生成註釋代時間戳-->

        </commentGenerator>

        <!-- jdbc連線 -->

        <jdbcConnection driverClass="${jdbc_driver}"

            connectionURL="${jdbc_url}" userId="${jdbc_user}"

            password="${jdbc_password}" />

        <!-- 型別轉換 -->

        <javaTypeResolver>

            <!-- 是否使用bigDecimal, false可自動轉化以下型別(Long, Integer, Short, etc.) -->

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

        </javaTypeResolver>

        <!-- 生成實體類地址 -->

        <javaModelGenerator targetPackage="com.packetXXX.model"

            targetProject="${project}" >

            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.packetXXX.model, true:com.packetXXX.model.[schemaName] -->

            <property name="enableSubPackages" value="false"/>

            <!-- 是否針對string型別的欄位在set的時候進行trim呼叫 -->

            <property name="trimStrings" value="true"/>

        </javaModelGenerator>

        <!-- 生成mapxml檔案 -->

        <sqlMapGenerator targetPackage="mapper"

            targetProject="${project}" >

            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑mapper, true:mapper.[schemaName] -->

            <property name="enableSubPackages" value="false" />

        </sqlMapGenerator>

        <!-- 生成mapxml對應client,也就是介面dao -->

        <javaClientGenerator targetPackage="com.packetXXX.mapper"

            targetProject="${project}" type="XMLMAPPER" >

            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.packetXXX.mapper, true:com.packetXXX.mapper.[schemaName] -->

            <property name="enableSubPackages" value="false" />

        </javaClientGenerator>

        <!-- 配置表資訊 -->

                  <table schema="databaseName" tableName="tableName" domainObjectName="BeanName"  enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"></table>

        <!-- schema即為資料庫名 tableName為對應的資料庫表 domainObjectName是要生成的實體類 enable*ByExample是否生成 example類   -->

    </context>

</generatorConfiguration>

注意*

1>  檔案內容中,紅色字型部分需要根據自己的資料庫名稱以及資料庫表的名稱進行相應的修改。

2> 上檔案內容中,配置檔案的路徑名稱也需要根據自己本地的路徑名稱進行填寫。

6      命令列執行


按照上述步驟下載檔案以及新建了配置檔案之後,再建立一個outPut的目錄,即可看到上述的準備的檔案;

之後再命令列下執行如下命令,即可在output目錄生成需要的程式碼。

java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml

執行示例:

7      參考

1.     官網地址

2.     設定屬性檔案路徑