mybatis中配置文件介紹

MyBatis 配置文件 configuration

<!-- 引入外部資源文件,將數據庫配置設爲外部鏈接 -->
 <properties resource="db.properties"></properties>
     <environment  id= "development" >
    <!-- 使用 jdbc事務管理-->
    <transactionManager  type = "JDBC"/>
    <!-- 數據庫連接池-->
    <dataSource  type = "POOLED">
      <property  name= "driver"   value = "${jdbc.driverClass}"/>
      <property  name= "url"    value = "${jdbc.jdbcUrl}"/>
      <property  name= "username"    value = "${jdbc.user}" />
      <property  name= "password"    value = "${jdbc.password}"/>
    </dataSource >
   </environment >
<settings>
<!-- 全局映射器啓用緩存 -->
<setting name="cacheEnabled" value="true" />
<!-- 查詢時,關閉關聯對象即時加載以提高性能 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 設置關聯對象加載的形態,此處爲按需加載字段 (加載字段由 SQL指 定 ),不會加載關聯表的所有字段,以提高性能 -->
<setting name="aggressiveLazyLoading" value="false" />
<!-- 對於未知的 SQL查詢,允許返回不同的結果集以達到通用的效果 -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 允許使用列標籤代替列名 -->
<setting name="useColumnLabel" value="true" />
<!-- 允許使用自定義的主鍵值 (比如由程序生成的 UUID 32位編碼作爲鍵值 ),數據表的 PK生成策略將被覆蓋 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 給予被嵌套的 resultMap以字段 -屬性的映射支持 -->
<setting name="autoMappingBehavior" value="FULL" />
<!-- 對於批量更新操作緩存 SQL以提高性能 -->
<setting name="defaultExecutorType" value="BATCH" />
<!-- 數據庫超過 25000秒仍未響應則超時 -->
<setting name="defaultStatementTimeout" value="25000" />
</settings>

typeAliases別名處理器
別名是爲 Java 類型命名一個短的名字。它只和 XML 配置有關,只用來減少類名重複的部分。
配置了 mybatis-config.xml 會影響XXXMapper.xml 的使用;

mybatis總的配置文件中:
1、
<typeAliases>
   <!-- 單獨爲 Perosn進行別名設置 -->
   <typeAlias type ="com.zhao.mybatis.entities.Person"  alias= "Person"/>
 </typeAliases>

2、 或者使用如下的方式掃描某個包下的bean,集體配置別名
 <typeAliases >
   <!--批處理別名,掃描整個包下的類 -->
   <package  name= "com.zhao.mybatis.entities"/>
 </typeAliases>
myBatis 配置文件介紹

typeHandlers 類型處理器:
     用於 java類型和jdbc類型映射,默認已經基本滿足Mybatis的映射。

environments 環境變量:
     MyBatis可以配置多種環境。這會將SQL映射應用於多種數據庫之中。例如,  爲開發要設置不同的配置,測試和生產環境。 或者可能有多種生產級數據庫卻共享 相同的模式, 所以你會想對不同數據庫使用相同的SQL映射。但是每個數據庫對應一個SqlSessionFactory。

transactionManager 事務管理器:
     在MyBatis中有兩種事務管理器類型(也就是type=”[JDBC|MANAGED]”):
     JDBC –  這個配置直接簡單使用了JDBC的提交和回滾設置。 它依賴於從數據源得到的連接來管理事務範圍。
     MANAGED –  這個配置幾乎沒做什麼。它從來不提交或回滾一個連接。而它會讓容器來管理事務的整個生命週期(比如Spring或JAVAEE應用服務器的上下文)默認情況下它會關閉連接。然而一些容器並不希望這樣,因此如果你需要從連接中停止它, 將closeConnection屬性設置爲false 。

dataSource 數據源:
     dataSource  元素使用基本的JDBC數據源接口來配置JDBC連接對象的資源。有三種內建的數據源類型
     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,poolMaximumIdleConnections 等等
     JNDI –  這個數據源的實現是爲了使用如Spring或應用服務器這類的容器 ,容器可以集中或在外部配置數據源,然後放置一個JNDI上下文的引用。這個數據源配置只需要兩個屬性:
     initial_context – 這個屬性用來從初始上下文中尋找環境(也就是initialContext.lookup(initial——context)。這是個可選屬性,如果被忽略,那麼data_source屬性將會直接以initialContext爲背景再次尋找。
    data_source – 這是引用數據源實例位置的上下文的路徑。它會以由initial_context查詢返回的環境爲背景來查找,如果initial_context沒有返回結果時,直接以初始上下文爲環境來查找。
    mappsers:mapper文件的路徑,可以使用相對於類路徑的資源引用,或者字符表示,或url引用的完全限定名。

<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
資源定位

<mapper url="file:///var/mappers/BlogMapper.xml"/>
文件url定位

<mapper class="org.mybatis.builder.BlogMapper"/>
java類定位

<package name="org.mybatis.builder"/>
java包定位
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章