天天看點

MyBatis全局配置檔案MyBatis-config.xml代碼

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

	<!-- 1.MyBatis可以使用properties來引入外部properties配置檔案的内容 resource:引入類路徑下的資源 url:引入網路路徑或者磁盤路徑下的資源 -->
	<properties resource="dbconfig.properties"></properties>
	
	
	<!-- 2.settings包含很多重要的設定項 setting:用來設定每一個設定項 name:設定項名 value:設定項取值
	name="mapUnderscoreToCamelCase"将資料庫中帶下劃線的列,轉成駝峰命名法
	 -->
<settings>
		<setting name="mapUnderscoreToCamelCase" value="true" />
	</settings>
	
	<!--3.typeAliases别名處理器,可以為我們的java類型起别名 -->
	<!-- typeAlias為某個java類型起别名 typeAlias節點中的屬性 type:指定要起别名的類型全類名,預設别名是就是類名全小寫:emp 
			alias:指定新的别名 -->
		<!-- <typeAlias type="cn.bdqn.mybatis.been.Emp" alias="Emp"/> -->
		<!-- 批量起别名 package:為某個包下的類批量起别名 name屬性:指定包名,為目前包以及所有的後代包中的類都起一個預設别名(預設别名就是類名的全小寫) 
			批量起别名時如果有相同類名的化,可以使用注解的方式為同名類起别名,@Alias("Emp") -->	
	<typeAliases>
		<package name="cn.bdqn.mybatis.been" />
	</typeAliases>
	
	

	<!-- 4.environments環境們,mybatis可以配置多種環境,default屬性可以指定使用某種環境,進而達到快去進行環境的切換 
		environment:配置具體的環境資訊;必須有兩個标簽:transactionManager 和dataSource,id屬性代表目前環境的唯一辨別 
		transactionManager:事務管理器;type屬性代表事務管理器的類型,可以有兩種取值JDBC(JdbcTransactionFactory)|MANGED(ManagedTransactionFactory),其實JDBC和MANGED是兩個别名 
		自定義事務管理器,隻需要實作TransactionFactory接口,Type指定全類名 dataSource 資料源 type:資料源類型,官方提供三種UNPOOLED|POOLED|JNDI 
		這三個也是别名 可以自定義資料源:實作DataSourceFactory接口,type就是我們自定義資料源的全類名 -->	
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>
		<environment id="test" >
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment> 
	</environments>
	

	<!-- 5.databaseIdProvider:支援多資料庫廠商 type="DB_VENDOR",DB_VENDOR也是别名,指的VendorDatabaseIdProvider這個類 
		作用就是得到資料庫廠商的辨別(驅動自帶),Mybatis就能根據資料庫廠商辨別來執行不同的sql property.為不同的資料庫廠商起别名 -->
	 <databaseIdProvider type="DB_VENDOR">
		<property name="MySQL" value="mysql" />
		<property name="Oracle" value="oracle" />
	</databaseIdProvider>
	
	<!--将我們寫好的SQL映射檔案(empMapper.xml)一定要注冊到全局配置檔案中 (mybatis-config.xml) -->
	<!-- 6.mappers:将sql映射注冊到全局配置中 注冊檔案: resource:引入類路徑下的sql映射檔案 url:引用網絡路徑或磁盤路徑下的sql映射檔案 
		注冊接口: class:直接引用(注冊)接口 1.有sql映射檔案,映射檔案名必須與接口同名.并且放在與接口同一目錄下; 2.沒有sql映射檔案,所有的sql都是利用注解解除安裝接口上 
		推薦:比較重要的DAO接口我們來寫SQL映射檔案 不重要的,簡單的dao接口為來快速開發可以使用注解 package 批量注冊有sql映射檔案,映射檔案名必須與接口同名.并且放在與接口同一目錄下; 
		name用來指定包名 -->	
	<mappers>
		<mapper resource="empMapper.xml" />
	</mappers>
</configuration>