Mybatis -代碼自動生成(generatorConfig.xml)


參考:http://blog.csdn.net/jinshiyill/article/details/51546676 
官方網址: http://www.mybatis.org/generator/configreference/xmlconfig.html 
原碼:http://download.csdn.net/detail/wangxy799/9773975

1. 環境:

Maven 3.39 
Oracle 11g 
Mybatis 3.4.1 
Maven project

2. 目錄結構

這里寫圖片描述

3. pom添加插件

<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> <build> <plugins> <!-- mybatis-generator自動生成代碼插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> </plugin> </plugins> </build> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

4. 新建generatorConfig.xml 文件(放在src/main/resources目錄下)

<?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="application.properties"/> <!-- 指定數據庫連接驅動jara地址 --> <classPathEntry location="${generator.location}" /> <!-- 一個數據庫一個context --> <context id="sqlserverTables"> <!-- 生成的pojo,將implements Serializable --> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> <!-- 注釋 --> <commentGenerator> <property name="suppressAllComments" value="true" /><!-- 是否取消注釋 --> <!-- <property name="suppressDate" value="true" /> 是否生成注釋代時間戳 --> </commentGenerator> <!-- 數據庫鏈接URL、用戶名、密碼 --> <jdbcConnection driverClass="${db.example.driver}" connectionURL="${db.example.url}" userId="${db.example.username}" password="${db.example.password}"> </jdbcConnection> <!-- 類型轉換 --> <javaTypeResolver> <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer true,把JDBC DECIMAL 和 NUMERIC 類型解析為java.math.BigDecimal --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成model模型,對應的包路徑,以及文件存放路徑(targetProject),targetProject可以指定具體的路徑,如./src/main/java, 也可以使用“MAVEN”來自動生成,這樣生成的代碼會在target/generatord-source目錄下 --> <javaModelGenerator targetPackage="${generator.targetPackage}" targetProject="./src/main/java"> <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] --> <property name="enableSubPackages" value="false" /> <!-- 從數據庫返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--對應的mapper.xml文件 --> <sqlMapGenerator targetPackage="${generator.targetPackage}" targetProject="./src/main/java"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- 對應的Mapper接口類文件 --> <javaClientGenerator type="XMLMAPPER" targetPackage="${generator.targetPackage}" targetProject="./src/main/java"> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 列出要生成代碼的所有表,這里配置的是不生成Example文件 --> <!-- schema即為數據庫名 tableName為對應的數據庫表 domainObjectName是要生成的實體類 enable*ByExample 是否生成 example類 --> <table tableName="${gererator.tableName}" domainObjectName="${gererator.objectName}" schema="${gererator.schema}" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> <!-- 忽略列,不生成bean 字段 <ignoreColumn column="FRED" />--> <!-- 指定列的java數據類型 <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> --> <!-- 用於指定生成實體類時是否使用實際的列名作為實體類的屬性名。false是 Camel Case風格--> <property name="useActualColumnNames" value="false" /> </table> </context> </generatorConfiguration> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78

5. 設置需要生成的表及創建目錄參數(application.properties放在src/main/resources目錄下)

db.example.type=oracle db.example.driver=oracle.jdbc.driver.OracleDriver db.example.url=jdbc:oracle:thin:@ip:port:sid db.example.username=username db.example.password=password #MBGInfo generator.location=D:/project/eas_std/BaseApp/lib/ojdbc14-10.2.0.5.jar generator.targetPackage=com.zteict.example.menu gererator.schema=fbp gererator.tableName=fbp_menu gererator.objectName=FbpMenu 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

6. 項目右鍵-RUN AS-MAVEN BUILD..

輸入 mybatis-generator:generate 
這里寫圖片描述

7. 生成的文件

FbpMenu: 
這里寫圖片描述 
FbpMenuMapper: 
這里寫圖片描述 
Xml: 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM