1. 程式人生 > >mybatis自動生成程式碼generator.xml的配置

mybatis自動生成程式碼generator.xml的配置

這個我也是才會用,主要是學習了我們老大的【配置】:

generator.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="classpath:generator.properties" /> -->
	<classPathEntry location="F:/ruanjian/repository-teacher/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar" /> 
<!-- flat:該模型為每一張表只生成一個實體類。這個實體類包含表中的所有欄位。**這種模型最簡單,推薦使用。** -->
	<context id="learn" targetRuntime="MyBatis3Simple" defaultModelType="flat">
		<!--去除註釋 (true好像不起作用) -->
		<commentGenerator>
		    <!-- suppressAllComments:**阻止**生成註釋,預設為false -->
			<property name="suppressAllComments" value="true" />
			<!-- suppressDate:**阻止**生成的註釋包含時間戳,預設為false -->
			<property name="suppressDate" value="true" />
		</commentGenerator>

		<!--資料庫連線 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test"
			userId="root" password="gyy0805">
		</jdbcConnection>

		<!-- 這個元素的配置用來指定JDBC型別和Java型別如何轉換。 -->
		<!--  預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer  true,把JDBC DECIMAL 和 NUMERIC 型別解析為java.math.BigDecimal  --> 
		<javaTypeResolver>
			<property name="forceBigDecimals" value="true" />
		</javaTypeResolver>

		<!-- 該元素用來控制生成的實體類 -->
		<!-- targetPackage:生成實體類存放的包名,一般就是放在該包下。實際還會受到其他配置的影響(<table>中會提到)。
targetProject:指定目標專案路徑,使用的是檔案系統的絕對路徑。 -->
		<javaModelGenerator targetPackage="org.gyy.entity.user" targetProject="learn/src/main/java">
		    <!-- enableSubPackages:如果true,MBG會根據catalog和schema來生成子包。如果false就會直接用targetPackage屬性。預設為false -->
			<property name="enableSubPackages" value="true" />
			<!-- trimStrings:是否對資料庫查詢結果進行trim操作,如果設定為true就會生成類似這樣public void setUsername(String username) {this.username = username == null ? null : username.trim();}的setter方法。預設值為false。 -->
			<property name="trimStrings" value="false" />
			<!-- rootClass:設定所有實體類的基類。 -->
			<property name="rootClass" value="org.gyy.entity.BaseEntity" />
		</javaModelGenerator>

		<!--生成SQLMAP檔案 -->
		<sqlMapGenerator targetPackage="org.gyy.mapper.user" targetProject="learn/src/main/java">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!--生成Dao檔案 可以配置 type="XMLMAPPER"生成xml的dao實現context id="DB2Tables" 修改targetRuntime="MyBatis3" -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="org.gyy.mapper.user" targetProject="learn/src/main/java">
			<property name="enableSubPackages" value="true" />
			<!-- 能夠繼承的父介面 -->
			<property name="rootInterface" value="org.gyy.mapper.IBaseMapper" />
			<property name="methodNameCalculator" value="extended" />
		</javaClientGenerator>

		<!--對應資料庫表 mysql可以加入主鍵自增 欄位命名 忽略某欄位等 -->
		<table tableName="test"/>
	</context>
</generatorConfiguration>
generator.properties的配置:
#資料庫連線
driver=com.mysql.jdbc.Driver

#伺服器配置
url=jdbc:mysql://127.0.0.1/test
user=root
password=123456
classpath=F:/ruanjian/repository-teacher/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
#專案路徑配置
project=learn/src/main/java
#實體類路徑
package.entity=org.gyy.entity.user
#mapper路勁
package.mapper=org.gyy.mapper.user
maven的plugins:
<plugins>
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.3.2</version>
			<configuration>
				<verbose>true</verbose>
				<overwrite>true</overwrite>
			</configuration>
		</plugin>
	</plugins>