MyBatis 中 SqlMapConfig 配置文件詳解
0x00:文件介紹
在 WEB 工程中,對(duì)于 MyBatis 最核心的全局配置文件是 SqlMapConfig.xml 文件,其中包含了數(shù)據(jù)庫的連接配置信息、Mapper 映射文件的加載路徑、全局參數(shù)、類型別名等。
0x01:配置項(xiàng)詳解
configuration:包裹所有配置標(biāo)簽,是整個(gè)配置文件的頂級(jí)標(biāo)簽。
properties:屬性,該標(biāo)簽可以引入外部配置的屬性,也可以自己配置。該配置標(biāo)簽所在的同一個(gè)配置文件中的其他配置均可引用此配置中的屬性。
setting:全局配置參數(shù),用來配置一些改變運(yùn)行時(shí)行為的信息,例如是否使用緩存機(jī)制,是否使用延遲加載,是否使用錯(cuò)誤處理機(jī)制等。并且可以設(shè)置最大并發(fā)請(qǐng)求數(shù)量、最大并發(fā)事務(wù)數(shù)量,以及是否啟用命令空間等。
typeAliases:類型別名,用來設(shè)置一些別名來代替 Java 的長類型聲明,如 java.lang.int 變?yōu)?int,減少配置編碼的冗余。
typeHandlers:類型處理器,將 sql 中返回的數(shù)據(jù)庫類型轉(zhuǎn)換為相應(yīng) Java 類型的處理器配置。
objectFactory:對(duì)象工廠,實(shí)例化目標(biāo)類的工廠類配置。
plugins:插件,可以通過插件修改 MyBatis 的核心行為,例如對(duì)語句執(zhí)行的某一點(diǎn)進(jìn)行攔截調(diào)用。
environments:環(huán)境集合屬性對(duì)象,數(shù)據(jù)庫環(huán)境信息的集合。在一個(gè)配置文件中,可以有多種數(shù)據(jù)庫環(huán)境集合,這樣使 MyBatis 將 sql 同時(shí)映射至多個(gè)數(shù)據(jù)庫。
environment:環(huán)境子屬性對(duì)象,數(shù)據(jù)庫環(huán)境配置的詳細(xì)配置。
transactionManager:事務(wù)管理,指定 MyBatis 的事務(wù)管理器。
dataSource:數(shù)據(jù)源,使其中的 type 指定數(shù)據(jù)源的連接類型,在標(biāo)簽對(duì)中可以使用 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.對(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ù)庫環(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é)
對(duì)于 MyBatis 的核心配置文件,有些不常用的標(biāo)簽也可以不用死記硬背,了解常用的即可,不常用的需要用時(shí)可查看幫助文檔。
到此這篇關(guān)于MyBatis 中 SqlMapConfig 配置文件詳解的文章就介紹到這了,更多相關(guān)MyBatis SqlMapConfig 配置內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何安裝MySQL 壓縮包2. MySQL雙主(主主)架構(gòu)配置方案3. 關(guān)于Oracle數(shù)據(jù)庫熱備份腳本深入剖析4. mysql-bin.000001文件的來源及處理方法5. 省時(shí)又省力 用Oracle擴(kuò)展SQL跟蹤數(shù)據(jù)6. MySQL 的啟動(dòng)選項(xiàng)和系統(tǒng)變量實(shí)例詳解7. Access數(shù)據(jù)庫安全的幾個(gè)問題8. Sql server數(shù)據(jù)庫開發(fā)常用匯總9. 一文帶你了解MySQL的左連接與右連接10. DB2中多種常用功能的解決方法(1)
