<?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>