使用maven逆向工程插件生成pojo類、mapper接口以及mapper.xml

目錄

 

1.pom.xml文件中配置generator插件

2.generatorConfig.xml的配置

3.生成文件


1.pom.xml文件中配置generator插件

<plugins>
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>

        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.17</version>
            </dependency>
        </dependencies>
        
        <configuration>
            <!--配置文件的路徑-->
            <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
            <verbose>true</verbose>
            <overwrite>true</overwrite>
        </configuration>
    </plugin>
</plugins>

易錯點:逆向工程的<plugins>標籤與maven生命週期插件的<pluginManagement>標籤是平級的!

2.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>
    <context id="generatorTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--mysql數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test01"
                        userId="root"
                        password="123">
        </jdbcConnection>
        <!--oracle數據庫連接的信息-->
        <!--<jdbcConnection driverClass="oracle.jdbc.OracleDriver"-->
        <!--connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"-->
        <!--userId="yycg"-->
        <!--password="yycg">-->
        <!--</jdbcConnection>-->

        <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer true,把JDBC DECIMAL 和NUMERIC 類型解析爲java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetProject:自動生成代碼的位置 -->
        <javaModelGenerator targetPackage="cn.itcast.po"
                            targetProject=".\src\main\java">

            <!-- enableSubPackages:是否讓schema作爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>

            <!-- 從數據庫返回的值被清理前後的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- targetPackage:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="cn.itcast.mapper"
                         targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- targetPackage:mapper接口的生成位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="cn.itcast.mapper"
                             targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <table schema="" tableName="customer">
            <columnOverride column="customer_id" javaType="java.lang.Integer"/>
            <columnOverride column="customer_code" javaType="java.lang.String"/>
            <columnOverride column="username" javaType="java.lang.String"/>
            <columnOverride column="gender" javaType="java.lang.Byte"/>
            <columnOverride column="age" javaType="java.lang.Integer"/>
        </table>

        <table schema="" tableName="catalog">
            <columnOverride column="catalog_id" javaType="java.lang.Integer"/>
            <columnOverride column="catalog_code" javaType="java.lang.String"/>
            <columnOverride column="catalog_name" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="customerdeliveredinfo">
            <columnOverride column="customerdelivered_id" javaType="java.lang.Integer"/>
            <columnOverride column="customer_id" javaType="java.lang.Integer"/>
            <columnOverride column="customer_code" javaType="java.lang.String"/>
            <columnOverride column="name" javaType="java.lang.String"/>
            <columnOverride column="phonenumber" javaType="java.lang.String"/>
            <columnOverride column="country" javaType="java.lang.String"/>
            <columnOverride column="provience" javaType="java.lang.String"/>
            <columnOverride column="city" javaType="java.lang.String"/>
            <columnOverride column="street" javaType="java.lang.String"/>
            <columnOverride column="detailaddress" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="order">
            <columnOverride column="order_id" javaType="java.lang.Integer"/>
            <columnOverride column="order_code" javaType="java.lang.String"/>
            <columnOverride column="createtime" javaType="java.util.Date"/>
            <columnOverride column="paytime" javaType="java.util.Date"/>
            <columnOverride column="deliverytime" javaType="java.util.Date"/>
            <columnOverride column="customer_id" javaType="java.lang.Integer"/>
            <columnOverride column="customer_code" javaType="java.lang.String"/>
            <columnOverride column="amount" javaType="java.lang.Double"/>
            <columnOverride column="paystatus" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="orderdeliveredinfo">
            <columnOverride column="orderdelivered_id" javaType="java.lang.Integer"/>
            <columnOverride column="order_id" javaType="java.lang.Integer"/>
            <columnOverride column="order_code" javaType="java.lang.String"/>
            <columnOverride column="name" javaType="java.lang.String"/>
            <columnOverride column="phonenumber" javaType="java.lang.String"/>
            <columnOverride column="country" javaType="java.lang.String"/>
            <columnOverride column="provience" javaType="java.lang.String"/>
            <columnOverride column="city" javaType="java.lang.String"/>
            <columnOverride column="street" javaType="java.lang.String"/>
            <columnOverride column="detailaddress" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="orderdetail">
            <columnOverride column="orderdetail_id" javaType="java.lang.Integer"/>
            <columnOverride column="product_id" javaType="java.lang.Integer"/>
            <columnOverride column="product_code" javaType="java.lang.String"/>
            <columnOverride column="price" javaType="java.lang.Double"/>
            <columnOverride column="order_id" javaType="java.lang.Integer"/>
            <columnOverride column="order_code" javaType="java.lang.String"/>
            <columnOverride column="count" javaType="java.lang.Integer"/>
        </table>

        <table schema="" tableName="payment">
            <columnOverride column="payment_id" javaType="java.lang.Integer"/>
            <columnOverride column="payment_code" javaType="java.lang.String"/>
            <columnOverride column="order_id" javaType="java.lang.Integer"/>
            <columnOverride column="order_code" javaType="java.lang.String"/>
            <columnOverride column="paytime" javaType="java.util.Date"/>
            <columnOverride column="way" javaType="java.lang.String"/>
            <columnOverride column="statement" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="price">
            <columnOverride column="product_id" javaType="java.lang.Integer"/>
            <columnOverride column="product_price" javaType="java.lang.Double"/>
        </table>

        <table schema="" tableName="product">
            <columnOverride column="product_id" javaType="java.lang.Integer"/>
            <columnOverride column="product_code" javaType="java.lang.String"/>
            <columnOverride column="product_name" javaType="java.lang.String"/>
            <columnOverride column="catalog_id" javaType="java.lang.Integer"/>
            <columnOverride column="catalog_code" javaType="java.lang.String"/>
        </table>

        <table schema="" tableName="shoppingcar">
            <columnOverride column="customer_id" javaType="java.lang.Integer"/>
            <columnOverride column="customer_code" javaType="java.lang.String"/>
            <columnOverride column="product_id" javaType="java.lang.Integer"/>
            <columnOverride column="product_code" javaType="java.lang.String"/>
            <columnOverride column="count" javaType="java.lang.Integer"/>
            <columnOverride column="oldprice" javaType="java.lang.Double"/>
        </table>
    </context>
</generatorConfiguration>

3.生成文件

點擊右側Maven--Plugins下的mybatis-generator直接生成pojo類、mapper接口和mapper.xml文件。

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