MyBatis 中 SqlMapConfig 配置文件詳解
0x00:文件介紹
在 WEB 工程中,對于 MyBatis 最核心的全局配置文件是 SqlMapConfig.xml 文件,其中包含了數(shù)據(jù)庫的連接配置信息、Mapper 映射文件的加載路徑、全局參數(shù)、類型別名等。
0x01:配置項(xiàng)詳解
configuration:包裹所有配置標(biāo)簽,是整個(gè)配置文件的頂級標(biāo)簽。
properties:屬性,該標(biāo)簽可以引入外部配置的屬性,也可以自己配置。該配置標(biāo)簽所在的同一個(gè)配置文件中的其他配置均可引用此配置中的屬性。
setting:全局配置參數(shù),用來配置一些改變運(yùn)行時(shí)行為的信息,例如是否使用緩存機(jī)制,是否使用延遲加載,是否使用錯(cuò)誤處理機(jī)制等。并且可以設(shè)置最大并發(fā)請求數(shù)量、最大并發(fā)事務(wù)數(shù)量,以及是否啟用命令空間等。
typeAliases:類型別名,用來設(shè)置一些別名來代替 Java 的長類型聲明,如 java.lang.int 變?yōu)?int,減少配置編碼的冗余。
typeHandlers:類型處理器,將 sql 中返回的數(shù)據(jù)庫類型轉(zhuǎn)換為相應(yīng) Java 類型的處理器配置。
objectFactory:對象工廠,實(shí)例化目標(biāo)類的工廠類配置。
plugins:插件,可以通過插件修改 MyBatis 的核心行為,例如對語句執(zhí)行的某一點(diǎn)進(jìn)行攔截調(diào)用。
environments:環(huán)境集合屬性對象,數(shù)據(jù)庫環(huán)境信息的集合。在一個(gè)配置文件中,可以有多種數(shù)據(jù)庫環(huán)境集合,這樣使 MyBatis 將 sql 同時(shí)映射至多個(gè)數(shù)據(jù)庫。
environment:環(huán)境子屬性對象,數(shù)據(jù)庫環(huán)境配置的詳細(xì)配置。
transactionManager:事務(wù)管理,指定 MyBatis 的事務(wù)管理器。
dataSource:數(shù)據(jù)源,使其中的 type 指定數(shù)據(jù)源的連接類型,在標(biāo)簽對中可以使用 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> <!-- 設(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.類型轉(zhuǎn)換器 --> <typeHandlers> <!-- 一個(gè)簡單類型轉(zhuǎn)換器 --> <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事務(wù)管理 --> <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:總結(jié)
對于 MyBatis 的核心配置文件,有些不常用的標(biāo)簽也可以不用死記硬背,了解常用的即可,不常用的需要用時(shí)可查看幫助文檔。
到此這篇關(guān)于MyBatis 中 SqlMapConfig 配置文件詳解的文章就介紹到這了,更多相關(guān)MyBatis SqlMapConfig 配置內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何:創(chuàng)建和運(yùn)行 CLR SQL Server 用戶定義的函數(shù)2. 上海Oracle OpenWorld大會(huì)紀(jì)事-07.193. mysql 視圖操作和存儲(chǔ)過程4. DB2編程序小小技巧5. MySQL分區(qū)的優(yōu)點(diǎn)6. Oracle9i(9.2.0.4) Installation Errors Under Redhat 97. sql server注冊表操作相關(guān)的幾個(gè)未公開過程8. 自己動(dòng)手把ACCESS轉(zhuǎn)換到SQLSERVER的方法9. SQLite教程(十二):鎖和并發(fā)控制詳解10. 解決Oracle賬戶被鎖定的問題
