1. 程式人生 > 程式設計 >MyBatis 中 SqlMapConfig 配置檔案詳解

MyBatis 中 SqlMapConfig 配置檔案詳解

0x00:檔案介紹

在 WEB 工程中,對於 MyBatis 最核心的全域性配置檔案是 SqlMapConfig.xml 檔案,其中包含了資料庫的連線配置資訊、Mapper 對映檔案的載入路徑、全域性引數、類型別名等。

0x01:配置項詳解

configuration:包裹所有配置標籤,是整個配置檔案的頂級標籤。

properties:屬性,該標籤可以引入外部配置的屬性,也可以自己配置。該配置標籤所在的同一個配置檔案中的其他配置均可引用此配置中的屬性。

setting:全域性配置引數,用來配置一些改變執行時行為的資訊,例如是否使用快取機制,是否使用延遲載入,是否使用錯誤處理機制等。並且可以設定最大併發請求數量、最大併發事務數量,以及是否啟用命令空間等。

typeAliases:類型別名,用來設定一些別名來代替 Java 的長型別宣告,如 java.lang.int 變為 int,減少配置編碼的冗餘。

typeHandlers:型別處理器,將 sql 中返回的資料庫型別轉換為相應 Java 型別的處理器配置。

objectFactory:物件工廠,例項化目標類的工廠類配置。

plugins:外掛,可以通過外掛修改 MyBatis 的核心行為,例如對語句執行的某一點進行攔截呼叫。

environments:環境集合屬性物件,資料庫環境資訊的集合。在一個配置檔案中,可以有多種資料庫環境集合,這樣使 MyBatis 將 sql 同時對映至多個數據庫。

environment:環境子屬性物件,資料庫環境配置的詳細配置。

transactionManager:事務管理,指定 MyBatis 的事務管理器。

dataSource:資料來源,使其中的 type 指定資料來源的連線型別,在標籤對中可以使用 property 屬性指定資料庫連線池的其他資訊。

mappers:對映器,配置 sql 對映檔案的位置,告知 MyBatis 去哪裡載入 sql 對映配置。

0x02:程式碼示例

<?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.properties屬性引入外部配置檔案 -->
  <properties resource="org/mybatis/example/config.properties">
    <!-- property裡面的屬性全域性均可使用 -->
    <property name="username" value="root"/>
    <property name="password" value="root"/>
  </properties>
  <!-- 2.全域性配置引數 -->
  <settings>
    <!-- 設定是否啟用快取 -->
    <setting name="cacheEnabled" value="true"/>
    <!-- 設定是否啟用懶載入 -->
    <setting name="lazyLoadingEnabled" value="true"/>  
  </settings>
  <!-- 3.別名設定 -->
  <typeAliases>
    <typeAlias alias="student" type="cn.com.mybatis.student"/>
    <typeAlias alias="teacher" type="cn.com.mybatis.teacher"/>
    <typeAlias alias="integer" type="java.lang.Integer"/>
  </typeAliases>
  <!-- 4.型別轉換器 -->
  <typeHandlers>
    <!-- 一個簡單型別轉換器 -->
    <typeHandler handler="org.mybatis.example.ExampleTypeHandler"/>
  </typeHandlers>
  <!-- 5.物件工廠 -->
  <objectFactory type="org.mybatis.example.ExampleObjectFactory">
    <!-- 物件工廠注入的引數 -->
    <property name="someProperty" value="100"/>
  </objectFactory>
  <!-- 6.外掛 -->
  <plugins>
    <plugin interceptor="org.mybatis.example.ExamplePlugin">
      <property name="someProperty" value="100"/>
    </plugin>
  </plugins>
  <!-- 7.environments資料庫環境配置 -->
  <!-- 和Spring整合後environments配置將被廢除 -->
  <environments default="development"> 
    <environment id="development"> 
      <!-- 使用JDBC事務管理 -->
      <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 resource="sqlmap/UserMapper.xml"/>
    <mapper resource="sqlmap/OtherMapper,.xml"/>
  </mappers> 
</configuration>

0x03:總結

對於 MyBatis 的核心配置檔案,有些不常用的標籤也可以不用死記硬背,瞭解常用的即可,不常用的需要用時可檢視幫助文件。

到此這篇關於MyBatis 中 SqlMapConfig 配置檔案詳解的文章就介紹到這了,更多相關MyBatis SqlMapConfig 配置內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!