MyBatis 中 SqlMapConfig 配置文件詳解
0x00:文件介紹
在 WEB 工程中,對于 MyBatis 最核心的全局配置文件是 SqlMapConfig.xml 文件,其中包含了數(shù)據(jù)庫的連接配置信息、Mapper 映射文件的加載路徑、全局參數(shù)、類型別名等。
0x01:配置項詳解
configuration:包裹所有配置標簽,是整個配置文件的頂級標簽。
properties:屬性,該標簽可以引入外部配置的屬性,也可以自己配置。該配置標簽所在的同一個配置文件中的其他配置均可引用此配置中的屬性。
setting:全局配置參數(shù),用來配置一些改變運行時行為的信息,例如是否使用緩存機制,是否使用延遲加載,是否使用錯誤處理機制等。并且可以設置最大并發(fā)請求數(shù)量、最大并發(fā)事務數(shù)量,以及是否啟用命令空間等。
typeAliases:類型別名,用來設置一些別名來代替 Java 的長類型聲明,如 java.lang.int 變?yōu)?int,減少配置編碼的冗余。
typeHandlers:類型處理器,將 sql 中返回的數(shù)據(jù)庫類型轉換為相應 Java 類型的處理器配置。
objectFactory:對象工廠,實例化目標類的工廠類配置。
plugins:插件,可以通過插件修改 MyBatis 的核心行為,例如對語句執(zhí)行的某一點進行攔截調(diào)用。
environments:環(huán)境集合屬性對象,數(shù)據(jù)庫環(huán)境信息的集合。在一個配置文件中,可以有多種數(shù)據(jù)庫環(huán)境集合,這樣使 MyBatis 將 sql 同時映射至多個數(shù)據(jù)庫。
environment:環(huán)境子屬性對象,數(shù)據(jù)庫環(huán)境配置的詳細配置。
transactionManager:事務管理,指定 MyBatis 的事務管理器。
dataSource:數(shù)據(jù)源,使其中的 type 指定數(shù)據(jù)源的連接類型,在標簽對中可以使用 property 屬性指定數(shù)據(jù)庫連接池的其他信息。
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.全局配置參數(shù) -->
<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">
<!-- 對象工廠注入的參數(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ù)庫環(huán)境配置 -->
<!-- 和Spring整合后environments配置將被廢除 -->
<environments default="development">
<environment id="development">
<!-- 使用JDBC事務管理 -->
<transactionManager type="JDBC" />
<!-- 數(shù)據(jù)庫連接池 -->
<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 配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot Thymeleaf實現(xiàn)HTML屬性設置
這篇文章主要介紹了Springboot Thymeleaf實現(xiàn)HTML屬性設置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2007-11-11
SpringBoot多環(huán)境打包與配置文件排除實踐記錄
本文介紹了SpringBoot項目多環(huán)境打包與配置文件排除實踐,包括多環(huán)境配置的實現(xiàn)方法、打包時排除配置文件的方法以及動態(tài)加載外部配置文件的最佳實踐,感興趣的朋友跟隨小編一起看看吧2024-11-11

