目錄
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文件。