Maven專案中,MyBatis逆向生成配置
阿新 • • 發佈:2019-02-09
1、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="testTables" targetRuntime ="MyBatis3">
<!-- JavaBean 實現 序列化 介面 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin">
</plugin>
<!-- 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>
<commentGenerator type="org.mybatis.generator.plugins.comment.MyCommentGenerator">
<!-- 是否去除自動生成的註釋 true:是 : false:否
<property name="suppressAllComments" value="true" />
-->
</commentGenerator>
<!--資料庫連線的資訊:驅動類、連線地址、使用者名稱、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/babasport" userId="root"
password="123456">
</jdbcConnection>
<!-- <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:生成PO類的位置 -->
<javaModelGenerator targetPackage="cn.itcast.core.bean"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="false" />
<!-- 從資料庫返回的值被清理前後的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper對映檔案生成的位置 -->
<sqlMapGenerator targetPackage="cn.itcast.core.dao"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper介面生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="cn.itcast.core.dao"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的字尾 -->
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定資料庫表 -->
<!-- 使用者模組表 -->
<table schema="" tableName="bbs_buyer" domainObjectName="user.Buyer"/>
<!-- 商品模組表 -->
<table schema="" tableName="bbs_product" domainObjectName="product.Product">
<!-- 商品介紹 大欄位對映 -->
<columnOverride column="description" javaType="String" jdbcType="VARCHAR" />
<!-- 包裝清單 大欄位對映 -->
<columnOverride column="package_list" javaType="String" jdbcType="VARCHAR" />
<!-- 商品圖片 大欄位對映 -->
<columnOverride column="img_url" javaType="String" jdbcType="VARCHAR" />
</table>
<table schema="" tableName="bbs_brand" domainObjectName="product.Brand"/>
<table schema="" tableName="bbs_Color" domainObjectName="product.Color"/>
<table schema="" tableName="bbs_sku" domainObjectName="product.Sku"/>
<!-- 訂單模組表 -->
<table schema="" tableName="bbs_order" domainObjectName="order.Order">
<!-- 支付方式 0:到付 1:線上 2:郵局 3:公司轉帳 -->
<columnOverride column="payment_way" javaType="Integer"/>
<!-- 貨到付款方式.1現金,2POS刷卡 -->
<columnOverride column="payment_cash" javaType="Integer" />
<!-- 送貨時間 -->
<columnOverride column="delivery" javaType="Integer"/>
<!-- 支付狀態 :0到付1待付款,2已付款,3待退款,4退款成功,5退款失敗 -->
<columnOverride column="is_paiy" javaType="Integer"/>
<!-- 訂單狀態 0:提交訂單 1:倉庫配貨 2:商品出庫 3:等待收貨 4:完成 5待退貨 6已退貨 -->
<columnOverride column="state" javaType="Integer"/>
<!-- 訂單狀態 預設Boolean -->
<columnOverride column="order_state" javaType="Integer"/>
</table>
<table schema="" tableName="bbs_detail" domainObjectName="order.Detail"/>
<!-- 指定資料庫所有表
<table schema="" tableName="%"/>
-->
<!-- 有些表的欄位需要指定java型別
<table schema="" tableName="">
<columnOverride column="" javaType="" />
</table> -->
</context>
</generatorConfiguration>
2、pom檔案中加入外掛
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>src/main/resources/generator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
3、實體類的序列化
- 主要是將外掛配置在generatorConfig.xml檔案中,下面是關官方自帶的,但是對於Example的實體類無法實現序列化介面,需要自己封裝一個
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>