1. 程式人生 > >eclipse 使用 mybatis generator 外掛生成 MyBatis 逆向工程

eclipse 使用 mybatis generator 外掛生成 MyBatis 逆向工程

步驟:


1.新建Java工程,新增config包
2.在config包中新增generratorConfigure檔案
3.在config包中新建properties包,並新增properties檔案

完成後的目錄:
這裡寫圖片描述


配置檔案的的程式碼:
generatorConfigure.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 resource="properties/connection.properties" /> <!-- 資料庫驅動 --> <classPathEntry location="${config_location}" /> <!-- 2.資料庫JDBC的連線資訊 --> <context id="DB2Tables" targetRuntime="MyBatis3"
>
<commentGenerator> <!-- 是否生成註釋代時間戳 --> <property name="suppressDate" value="true" /> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--資料庫連結URL,使用者名稱、密碼 -->
<jdbcConnection driverClass="${config_driver_class}" connectionURL="${config_connection_url}" userId="${config_userId}" password="${config_password}" /> <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成模型的包名和位置 --> <!-- 要修改1次 --> <!-- 生成實體類地址 --> <javaModelGenerator targetPackage="${config_model_generator}" targetProject="${config_targetProject}"> <!-- enableSubPackages:是否讓schema作為包的字尾 --> <property name="enableSubPackages" value="true" /> <!-- 從資料庫返回的值被清理前後的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 生成對映檔案的包名和位置 --> <!-- 要修改1次 --> <!-- 生成mapper.xml檔案 (Mapper介面) --> <sqlMapGenerator targetPackage="${config_map_generator}" targetProject="${config_targetProject}"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成DAO的包名和位置 --> <!-- 要修改1次 --> <!-- 生成mapxml對應client,也就是介面dao --> <javaClientGenerator type="XMLMAPPER" targetPackage="${config_client_generator}" targetProject="${config_targetProject}"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 要生成的表 tableName是資料庫中的表名或檢視名 domainObjectName是實體類名 --> <!-- 每次生成都要修改 --> <table tableName="${config_table_name}" domainObjectName="${config_Object_name}" enableInsert="true" enableDeleteByPrimaryKey="false" enableSelectByPrimaryKey="false" enableUpdateByPrimaryKey="false" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" > <!-- 設定實體類屬性名稱與資料表字段相同 --> <property name="useActualColumnNames" value="true" /> </table> </context> </generatorConfiguration>

connection.properties檔案

######################-修改一次-######################

## 引入jar包(本文章下面會說到),絕對位置
##G:\\A_DB\\mysql-connector-java-8.0.8-dmr.jar
##G:\\A_DB\\mysql-connector-java-5.1.7-bin.jar
config_location= G:\\A_DB\\mysql-connector-java-5.1.7-bin.jar


## 資料庫連線
config_driver_class= com.mysql.jdbc.Driver
## 資料庫地址
config_connection_url= jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
## 資料庫名稱
config_userId= root
## 資料庫密碼
config_password= root


######################-每次都要修改-######################

## 專案名
config_targetProject= XXX
## 實體類位置
config_model_generator= a.entity.inventory
## mapper檔案位置(需複製)
config_map_generator= a.mybatis.inventory
## DAO介面位置
config_client_generator= a.service.inventory

##資料表名稱
config_table_name1=
config_table_name2=
config_table_name3=
config_table_name4=
config_table_name5=
config_table_name6=
config_table_name7=

##實體類名稱
config_Object_name1=
config_Object_name2=
config_Object_name3=
config_Object_name4=
config_Object_name5=
config_Object_name6=
config_Object_name7=



PROJECT_SCHEMA=riseuser-dao

db_driver=com.mysql.jdbc.Driver


輔助檔案 table.xml
(用於快速複製表內配置到generatorConfigure.xml檔案中)

<table tableName="${config_table_name1}"
        domainObjectName="${config_Object_name1}"
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >

        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name2}"
        domainObjectName="${config_Object_name2}"       
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >
        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name3}"
        domainObjectName="${config_Object_name3}" 
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >

        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name4}"
        domainObjectName="${config_Object_name4}" 
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >
        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name5}"
        domainObjectName="${config_Object_name5}" 
                    enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >

        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name6}"
        domainObjectName="${config_Object_name6}" 
                    enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >
        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name7}"
        domainObjectName="${config_Object_name7}" 
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >

        <!-- 設定實體類屬性名稱與資料表字段相同 -->
        <property name="useActualColumnNames" value="true" />
    </table>

    <table tableName="${config_table_name8}"
        domainObjectName="${config_Object_name8}" 
            enableInsert="true" 
            enableDeleteByPrimaryKey="false"        
            enableSelectByPrimaryKey="false"        
            enableUpdateByPrimaryKey="false"  

            enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false" >
            </table>

最後右擊generratorConfigure.xml檔案—> Run As —> Run Mybatis Generator
即可在定義的專案中生成相應的 Mapper介面,java bean, dao 檔案
這裡寫圖片描述


生成的檔案
這裡寫圖片描述

專案原始碼: