mybatis-主配置文件介紹

mybatis下載地址:http://code.google.com/p/mybatis/html

學習手冊地址:http://mybatis.github.io/mybatis-3/zh/index.htmlgit

mybatis主配置文件以下所示github

<?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>  
 <properties resource="org/mybatis/example/config.properties">
 <!-- 類型別名是爲 Java 類型命名一個短的名字。 它只和 XML 配置有關, 只用來減小類徹底 限定名的多餘部分-->
  <typeAliases>
        
     <!--老版本的方式使用type和alias兩個屬性 ,這樣在mapper.xml文件中的參數,返回值就不用寫全路徑,直接用別名便可-->
     <typeAlias type="com.yangwei.shop.entity.User" alias="User" />
   <!--如今新的方式是,指定包名便可,全部的都會被映射-->
   <package name="com.yangwei.shop.entity" />
  <typeAliases>
 <environments default="development"> <environment id="development">
   
<transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers>
  <!-- 註解的時候的配置成類-->
  <mapper class="com.yangwei.shop.mapper.UserMapper" />
  <!-- 配置文件的時候,配置成資源 -->
<mapper resource="com/yangwei/shop/entity/UserMapper.xml"/> </mappers> </configuration>

<properties resource="path"> 外部的,或者可替代的屬性 好比 

 
 
<properties resource="org/mybatis/example/config.properties"><property name="username"value="dev_user"/><property name="password"value="F2Fa3!33TYyg"/></properties>
  
<dataSource
type="POOLED"><property name="driver"value="${driver}"/><property name="url"value="${url}"/><property name="username"value="${username}"/><propertyname="password"value="${password}"/></dataSource
  
 
 
<environments>元素下能夠配置多個環境,如 開發環境(development)發佈環境(publish)

<transactionManager>元素用來配置事物,mybatis支持兩種事務類型(JDBC|MANAGED) 

JDBC:這個配置直接簡單食慾哦給你了JDBC的提交和回滾設置。它依賴於從數據源獲得的鏈接來管理事務範圍;
MANAGED:這個配置幾乎沒作什麼,它歷來不提交或回滾一個鏈接,而它會讓容器來管理事務的整個生命週期(好比Spring或JEE應用服務器上下文)

<dataSource>用來配置數據源,有三種內建數據源類型(type=???)

UNPOOLED 這個數據源的實現是每次被請求時簡單打開和關閉鏈接。它有一點慢, 這是對簡單應用程序的一個很好的選擇, 由於它不須要及時的可用鏈接。 不一樣的數據庫對這個的表現也是不同的,
因此對某些數據庫來講配置數據源並不重要, 這個配置也是閒置的。 UNPOOLED 類型的數據源僅僅用來配置如下 5 種屬性
  • driver – 這是 JDBC 驅動的 Java 類的徹底限定名(若是你的驅動包含,它也不是 數據源類)。
  • url – 這是數據庫的 JDBC URL 地址。
  • username – 登陸數據庫的用戶名。
  • password – 登陸數據庫的密碼。
  • defaultTransactionIsolationLevel – 默認的鏈接事務隔離級別
 做爲可選項,你能夠傳遞數據庫驅動的屬性。要這樣作,屬性的前綴是以「driver.」開頭的,例如:
  driver.encoding=UTF8
   這樣就會傳遞以值「 UTF8 」來傳遞屬性「 encoding 」,它是經過 DriverManager.getConnection(url,driverProperties)方法傳遞給數據庫驅動
 
 
   POOLED 
  – 這是 JDBC 鏈接對象的數據源鏈接池的實現,用來避免建立新的鏈接實例時必要的初始鏈接和認證時間。這是一種當前 Web 應用程序用來快速響應請求很流行的方法 
 
     除了上述(UNPOOLED)的屬性以外,還有不少屬性能夠用來配置 POOLED 數據源:
 
 
  • poolMaximumActiveConnections – 在任意時間存在的活動(也就是正在使用)鏈接的數量。默認值:10
  • poolMaximumIdleConnections – 任意時間存在的空閒鏈接數。
  • poolMaximumCheckoutTime – 在被強制返回以前,池中鏈接被檢查的時間。默認值:20000 毫秒(也就是 20 秒)
  • poolTimeToWait – 這是給鏈接池一個打印日誌狀態機會的低層次設置,還有從新嘗試得到鏈接, 這些狀況下每每須要很長時間 爲了不鏈接池沒有配置時靜默失敗)。默認值:20000 毫秒(也就是 20 秒)
  • poolPingQuery – 發送到數據的偵測查詢,用來驗證鏈接是否正常工做,而且準備接受請求。默認是「NO PING QUERY SET」 ,這會引發許多數據庫驅動鏈接由一個錯誤信息而致使失敗。
  • poolPingEnabled – 這是開啓或禁用偵測查詢。若是開啓,你必須用一個合法的 SQL 語句(最好是很快速的)設置 poolPingQuery 屬性。默認值:false。
  • poolPingConnectionsNotUsedFor – 這是用來配置 poolPingQuery 屢次時間被用一次。 這能夠被設置匹配標準的數據庫鏈接超時時間, 來避免沒必要要的偵測。 默認值: 0(也就是全部鏈接每一時刻都被偵測-但僅僅當 poolPingEnabled 爲 true 時適用)
  
JNDI
 – 這個數據源的實現是爲了使用如 Spring 或應用服務器這類的容器, 容器能夠集中或在外部配置數據源,而後放置一個 JNDI 上下文的引用。這個數據源配置只須要兩個屬 性:
  • initial_context – 這個屬性用來從初始上下文中尋找環境( 也就是initialContext.lookup(initial——context) 這是個可選屬性,若是被忽略,那麼data_source 屬性將會直接以initialContext 爲背景再次尋找。
  • data_source – 這是引用數據源實例位置的上下文的路徑。它會以由 initial_context 查詢返回的環境爲背景來查找,若是 initial_context 沒有返回結果時,直接以初始上下文爲環境來查找
  和其餘數據源配置類似, 它也能夠經過名爲 「env.」 的前綴直接向初始上下文發送屬性
env.encoding=UTF8
相關文章
相關標籤/搜索