1. 程式人生 > >springboot+mybatis配置generator.xml自動生成實體,xml檔案

springboot+mybatis配置generator.xml自動生成實體,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="application-test.properties"/>-->
    <!--<classPathEntry-->
    <!--location="C:\Users\ubeii\.m2\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar"/>-->
    <context id="default" targetRuntime="MyBatis3">
        <!-- 生成的Java檔案的編碼 -->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java程式碼 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        <!-- JavaBean 實現 序列化 介面 -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!-- genenat entity時,生成toString -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <!-- 自定義物理分頁  可生成支援Mysql資料的limit  不支援Oracle -->
        <!--<plugin type="org.mybatis.generator.plugins.page.PaginationPlugin" />-->
        <!-- 自定義查詢指定欄位  -->
        <!--<plugin type="org.mybatis.generator.plugins.field.FieldsPlugin" />-->
        <!-- 開啟支援記憶體分頁   可生成 支援記憶體分佈的方法及引數
        <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin" />
        -->
        <!-- generate entity時,生成hashcode和equals方法
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
         -->
        <!-- 此處是將Example改名為Criteria 當然 想改成什麼都行~    -->
        <!--<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">-->
        <!--<property name="searchString" value="Example$" />-->
        <!--<!– 替換後  -->
        <!--<property name="replaceString" value="Criteria" />    -->
        <!--–>-->
        <!--<property name="replaceString" value="Query" />-->
        <!--</plugin>-->
        <!-- 此處是將UserMapper.xml改名為UserDao.xml 當然 想改成什麼都行~ -->
        <!--<plugin type="org.mybatis.generator.plugins.rename.RenameSqlMapperPlugin">-->
        <!--<property name="searchString" value="Mapper" />-->
        <!--<property name="replaceString" value="Dao" />-->
        <!--</plugin>-->

        <!--<!– 此處是將UserMapper改名為UserDao 介面 當然 想改成什麼都行~  –>-->
        <!--<plugin type="org.mybatis.generator.plugins.rename.RenameJavaMapperPlugin">-->
        <!--<property name="searchString" value="Mapper$" />-->
        <!--<property name="replaceString" value="Dao" />-->
        <!--</plugin>-->

        <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <!--生成的註釋包含時間戳-->
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/multiusermalldb?characterEncoding=utf-8&amp;useSSL=false&amp;useInformationSchema=true"
                        userId="root"
                        password="root">
            <property name="useInformationSchema" value="false"/>
        </jdbcConnection>
        <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和
            NUMERIC 型別解析為java.math.BigDecimal -->
        <!-- <javaTypeResolver>
             <property name="forceBigDecimals" value="true"/>
         </javaTypeResolver>-->
        <!-- targetProject:生成PO類的位置 -->
        <!--  <javaModelGenerator targetPackage="com.winterchen.common.entity" targetProject="src/main/java">
              &lt;!&ndash; enableSubPackages:是否讓schema作為包的字尾 &ndash;&gt;
              <property name="enableSubPackages" value="true"/>
              &lt;!&ndash; 從資料庫返回的值被清理前後的空格 &ndash;&gt;
              <property name="trimStrings" value="true"/>
          </javaModelGenerator>-->
        <!-- targetProject:mapper對映檔案生成的位置 -->
        <!--<sqlMapGenerator targetPackage="com.allen.common.mapper" targetProject="src/main/java">-->
        <!--<!– enableSubPackages:是否讓schema作為包的字尾 –>-->
        <!--<property name="enableSubPackages" value="true"/>-->
        <!--</sqlMapGenerator>-->
        <!--ANNOTATEDMAPPER: 生成java類檔案,基於註解的Mapper介面,不會有對應的XML對映檔案
            MIXEDMAPPER:XML和註解的混合形式
            XMLMAPPER:所有的方法都在XML中,介面呼叫依賴XML檔案 -->
        <!--<javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.winterchen.common.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>-->

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model類存放位置-->
        <javaModelGenerator targetPackage="com.xuyang.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成對映檔案存放位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成Dao類存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.xuyang.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--生成對應表及類名-->
        <table tableName="t_user" domainObjectName="TUser" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

        <!--<table tableName="user" domainObjectName="User" enableCountByExample="false"-->
        <!--enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"/>-->
        <table schema="xuyangdb" tableName="t_user" domainObjectName="TUser"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

1.在idea的右側找到maven project 開啟,如果沒有generator外掛的先下載,新增,有的就直接選擇圖中游標所在處程式啟動

2.在pom.xml中新增依賴自動配置generator外掛

<!-- mybatis.generator -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.6</version>
		</dependency>

3.生成專案結構如下:

你的建議就是我的動力,如有不足之處請指出,謝謝!