1. 程式人生 > >mybatis 三劍客 generator配置 、mybatis plugin

mybatis 三劍客 generator配置 、mybatis plugin

context url classname sta 分隔符 ltm plugin orb 三劍客

generator配置

1、配置pom.xml 導入mysql驅動、mybatis、mybatis-generator的依賴

 <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.3.1</version>
    </dependency>

    <dependency>
      <groupId>mysql</
groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version
>1.3.3</version> </dependency>

2、在main/resources 文件夾中 創建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>

<!--導入配置文件-->
<properties resource="datasource.properties"></properties>

<context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat">

<!--配置前分隔符屬性 和 後分隔符屬性-->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--<property name="javaFileEncoding" value="UTF-8"/>-->

<!--對註釋進行控制-->
<commentGenerator>
<!--阻止生成註釋-->
<property name="suppressAllComments" value="true"/>
<!--<property name="suppressDate" value="false"/>-->
<property name="addRemarkComments" value="true"/>
</commentGenerator>

<!--jdbc的數據庫連接-->
<!--<jdbcConnection driverClass="com.mysql.jdbc.Driver"-->
<!--connectionURL="jdbc:mysql://localhost:3306/mybatis"-->
<!--userId="root"-->
<!--password="123456">-->
<!--</jdbcConnection>-->
<!--jdbc的數據庫連接-->
<jdbcConnection driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
</jdbcConnection>

<!-- 非必需,類型處理器,在數據庫類型和java類型之間的轉換控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>


<!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類
targetPackage 指定生成的model生成所在的包名
targetProject 指定在該項目下所在的路徑
-->
<javaModelGenerator targetPackage="com.mmall.pojo" targetProject="src\main\java">
<!-- 是否允許子包,即targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!-- 是否對model添加 構造函數 -->
<property name="constructorBased" value="true"/>
<!-- 是否對類CHAR類型的列的數據進行trim操作 -->
<property name="trimStrings" value="true"/>
<!-- 建立的Model對象是否 不可改變 即生成的Model對象不會有 setter方法,只有構造方法 -->
<property name="immutable" value="false"/>
</javaModelGenerator>



<!--mapper映射文件生成所在的目錄 為每一個數據庫的表生成對應的SqlMap文件 -->
<sqlMapGenerator targetPackage="mappers" targetProject="src\main\resources"/>

<!-- targetPackage:mapper接口dao生成的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject="src\main\java"/>

<!--<table tableName="%">-->
<!--<generatedKey column="id" sqlStatement="MySql"/>-->
<!--</table>-->
<table tableName="mmall_shipping" domainObjectName="Shipping" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="mmall_cart" domainObjectName="Cart" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<!--<table tableName="mmall_cart_item" domainObjectName="CartItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
<table tableName="mmall_category" domainObjectName="Category" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="mmall_order" domainObjectName="Order" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="mmall_order_item" domainObjectName="OrderItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="mmall_pay_info" domainObjectName="PayInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<table tableName="mmall_product" domainObjectName="Product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
<columnOverride column="detail" jdbcType="VARCHAR" />
<columnOverride column="sub_images" jdbcType="VARCHAR" />
</table>
<table tableName="mmall_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

以上還創建了datasource.properties

db.driverClassName=com.mysql.jdbc.Driver
#db.url=jdbc:mysql://192.1.1.1:3306/mmall?characterEncoding=utf-8
db.url=jdbc:mysql://localhost:3306/shoppingmall?characterEncoding=utf-8
db.username=root
db.password=123456

mybatis plugin

在idea 裏面 下載 plugin (mybatis plugin)

mybatis 三劍客 generator配置 、mybatis plugin