mybatis自動生成代碼

mybatis自動生成代碼有三種方式:命令行、eclipse插件、maven插件。在這裏主要介紹比較方便使用的一種方式–maven插件,它可以在eclipse、idea中通用。
在pom.xml文件中配置mybatis-generator插件:

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.6</version>
    <configuration>
        <!-- 配置文件的位置 -->
        <configurationFile>generatorConfig.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>

逆向生成代碼需要的配置文件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>

    <!-- 指定連接數據庫的JDBC驅動,指定到本機的完整路徑(可以指定到maven倉庫中的jar路徑) -->
    <classPathEntry
            location="D:/Workspaces/maven_repos/mysql/mysql-connector-java/5.1.8/mysql-connector-java-5.1.8.jar"/>

    <!-- 配置table表信息內容體,targetRuntime指定採用mybatis3的版本 -->
    <context id="my" targetRuntime="MyBatis3">

        <!-- 抑制生成註釋,由於生成的註釋都是英文版的,可以不讓它生成 -->
        <commentGenerator>
            <property name="suppressDate" value="false"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 配置數據庫連接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/springdb" userId="root"
                        password="123456"/>

        <!-- 生成model類,targetPackage指定model類的包名,targetProject指定生成的model放在哪個工程中 -->
        <javaModelGenerator targetPackage="com.cui.springboot.model"
                            targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成mybatis的mapper.xml文件,targetPackage指定mapper.xml的包名,targetProject指定mapper.xml在哪個工程目錄下 -->
        <sqlMapGenerator targetPackage="com.cui.springboot.mapper"
                         targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 生成mybatis的Mapper接口類文件,targetPackage指定Mapper接口類文件的包名,targetProject指定Mapper接口類在哪個工程目錄下 -->
        <javaClientGenerator targetPackage="com.cui.springboot.mapper"
                             targetProject="D:/Workspaces/IdeaProjects/springboot-mybatis/src/main/java"
                             type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--<table tableName="T_FEE_AGTBILL" domainObjectName="FeeAgentBill"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>-->
        <!-- 數據庫表以及對應的java模型類名(如果是多個表的話,可以複製多份然後修改成對應的表以及需要生成的模型名) -->
        <table tableName="student" domainObjectName="Student"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <!--<columnRenamingRule searchString="^D_"
                                replaceString=""/>-->
        </table>

    </context>
</generatorConfiguration>

在上面的配置文件中已經將註釋給出來了,需要注意的有以下幾點:

  1. 在table標籤中的tableName和domainObjectName是必須的,分別對應着數據庫表名和實體類類名。其餘的配置參數可以刪除,一般默認是false。
  2. 創建數據表示時,字段名稱可以使用下劃線“_”將多個單詞進行分割,比如:REC_ID這樣的生成的實體類的屬性是駝峯型,這樣子比較好看一點。
  3. oracle中,數值形的字段,如果指定精度,比如Number(12,2),默認生成entity屬性是BigDecimal型 ,如果不指定精度,比如:Number(9),指默認生成的是Long型
  4. oracle中的nvarchar/nvarchar2,mybatis-generator會識別成Object型,建議不要用nvarchar2,改用varchar2

弄完以上的步驟之後,就可以進行生成代碼操作,如果idea的話,可以通過以下進行生成:
mybatis自動生成代碼操作
找到mybatis-generator:generate,然後雙擊操作,即可生成代碼。
生成的目錄結構如下:
自動生成的目錄結構

還可以通過以下的方式進行執行mybatis-generator:
  在該插件的目錄下,按住shift鍵,選擇“在此處打開命令窗口”選項,在彈出的窗口中輸入以下的命令,然後回車(注意:需要將配置文件generatorConfig.xml文件也複製到該目錄下):

java -jar mybatis-generator-core-1.3.6.jar -configfile generatorConfig.xml -overwrite
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章