1. 程式人生 > >Maven專案中,MyBatis逆向生成配置

Maven專案中,MyBatis逆向生成配置

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>