溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MyBatis 中 SqlMapConfig 配置文件的使用方法

發(fā)布時(shí)間:2020-10-28 00:02:15 來(lái)源:億速云 閱讀:201 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

本篇文章為大家展示了MyBatis 中 SqlMapConfig 配置文件的使用方法,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

0x00:文件介紹

在 WEB 工程中,對(duì)于 MyBatis 最核心的全局配置文件是 SqlMapConfig.xml 文件,其中包含了數(shù)據(jù)庫(kù)的連接配置信息、Mapper 映射文件的加載路徑、全局參數(shù)、類(lèi)型別名等。

0x01:配置項(xiàng)詳解

configuration:包裹所有配置標(biāo)簽,是整個(gè)配置文件的頂級(jí)標(biāo)簽。

properties:屬性,該標(biāo)簽可以引入外部配置的屬性,也可以自己配置。該配置標(biāo)簽所在的同一個(gè)配置文件中的其他配置均可引用此配置中的屬性。

setting:全局配置參數(shù),用來(lái)配置一些改變運(yùn)行時(shí)行為的信息,例如是否使用緩存機(jī)制,是否使用延遲加載,是否使用錯(cuò)誤處理機(jī)制等。并且可以設(shè)置最大并發(fā)請(qǐng)求數(shù)量、最大并發(fā)事務(wù)數(shù)量,以及是否啟用命令空間等。

typeAliases:類(lèi)型別名,用來(lái)設(shè)置一些別名來(lái)代替 Java 的長(zhǎng)類(lèi)型聲明,如 java.lang.int 變?yōu)?int,減少配置編碼的冗余。

typeHandlers:類(lèi)型處理器,將 sql 中返回的數(shù)據(jù)庫(kù)類(lèi)型轉(zhuǎn)換為相應(yīng) Java 類(lèi)型的處理器配置。

objectFactory:對(duì)象工廠,實(shí)例化目標(biāo)類(lèi)的工廠類(lèi)配置。

plugins:插件,可以通過(guò)插件修改 MyBatis 的核心行為,例如對(duì)語(yǔ)句執(zhí)行的某一點(diǎn)進(jìn)行攔截調(diào)用。

environments:環(huán)境集合屬性對(duì)象,數(shù)據(jù)庫(kù)環(huán)境信息的集合。在一個(gè)配置文件中,可以有多種數(shù)據(jù)庫(kù)環(huán)境集合,這樣使 MyBatis 將 sql 同時(shí)映射至多個(gè)數(shù)據(jù)庫(kù)。

environment:環(huán)境子屬性對(duì)象,數(shù)據(jù)庫(kù)環(huán)境配置的詳細(xì)配置。

transactionManager:事務(wù)管理,指定 MyBatis 的事務(wù)管理器。

dataSource:數(shù)據(jù)源,使其中的 type 指定數(shù)據(jù)源的連接類(lèi)型,在標(biāo)簽對(duì)中可以使用 property 屬性指定數(shù)據(jù)庫(kù)連接池的其他信息。

mappers:映射器,配置 sql 映射文件的位置,告知 MyBatis 去哪里加載 sql 映射配置。

0x02:代碼示例

<&#63;xml version="1.0" encoding="UTF-8"&#63;> 
<!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.全局配置參數(shù) -->
  <settings>
    <!-- 設(shè)置是否啟用緩存 -->
    <setting name="cacheEnabled" value="true"/>
    <!-- 設(shè)置是否啟用懶加載 -->
    <setting name="lazyLoadingEnabled" value="true"/>  
  </settings>
  <!-- 3.別名設(shè)置 -->
  <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.類(lèi)型轉(zhuǎn)換器 -->
  <typeHandlers>
    <!-- 一個(gè)簡(jiǎn)單類(lèi)型轉(zhuǎn)換器 -->
    <typeHandler handler="org.mybatis.example.ExampleTypeHandler"/>
  </typeHandlers>
  <!-- 5.對(duì)象工廠 -->
  <objectFactory type="org.mybatis.example.ExampleObjectFactory">
    <!-- 對(duì)象工廠注入的參數(shù) -->
    <property name="someProperty" value="100"/>
  </objectFactory>
  <!-- 6.插件 -->
  <plugins>
    <plugin interceptor="org.mybatis.example.ExamplePlugin">
      <property name="someProperty" value="100"/>
    </plugin>
  </plugins>
  <!-- 7.environments數(shù)據(jù)庫(kù)環(huán)境配置 -->
  <!-- 和Spring整合后environments配置將被廢除 -->
  <environments default="development"> 
    <environment id="development"> 
      <!-- 使用JDBC事務(wù)管理 -->
      <transactionManager type="JDBC" /> 
      <!-- 數(shù)據(jù)庫(kù)連接池 -->
      <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>

上述內(nèi)容就是MyBatis 中 SqlMapConfig 配置文件的使用方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI