Mybatis?sqlMapConfig.xml中的mappers標(biāo)簽使用
sqlMapConfig.xml中的mappers標(biāo)簽
mappers(映射配置)
1.1:通過resource加載單個(gè)映射文件
< !– 加載映射文件 –> < mappers> < !–通過resource方法一次加載一個(gè)映射文件 –> < mapper resource=”sqlmap/User.xml”/> < mapper resource=”mapper/UserMapper.xml”/> < /mappers>
1.2:通過mapper接口加載單個(gè)映射文件
通過mapper接口加載單個(gè)映射配置文件
遵循一定的規(guī)范:需要將mapper接口類名和mapper.xml映射文件名稱保持一致,且在一個(gè)目錄中;
上邊規(guī)范的前提是:使用的是mapper代理方法
< mapper class=”com.mybatis.mapper.UserMapper”/>
按照上邊的規(guī)范,將 mapper.java 和 mapper.xml 放在一個(gè)目錄 ,且同名。
1.3:批量加載mapper(推薦使用)
批量加載映射配置文件,mybatis自動(dòng)掃描包下面的mapper接口進(jìn)行加載
遵循一定的規(guī)范:需要將mapper接口類名和mapper.xml映射文件名稱保持一致,且在一個(gè)目錄中;
上邊規(guī)范的前提是:使用的是mapper代理方法
< package name=”com.mybatis.mapper”/>
sqlmapconfig核心標(biāo)簽說明以及配置
對于MyBatis最核心的全局配置文件是 sqlmapConfig.xml 文件,其中包含了數(shù)據(jù)庫的連接配置信息、Mapper 映射文件的加載路徑、全局參數(shù)、類型別名等。
配置項(xiàng)詳解
標(biāo)簽名稱 | 標(biāo)簽作用 |
---|---|
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 映射配置。 |
配置示例
<?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="admin"/> <property name="password" value="admin"/> </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ù)庫連接池 --> <!-- 配置文件加載 這段代碼可以在spring-config.xml配置 --> <!-- <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:db.properties</value> </list> </property> </bean> --> <dataSource type="POOLED"> <property name="driver" value="${db.driver}"/> <property name="url" value="${db.url}"/> <property name="username" value="$db.{username}"/> <property name="password" value="${db.password}"/> </dataSource> </environment> </environments> <!-- 加載映射文件 也可以將映射文件統(tǒng)一配置,這樣就不用每個(gè)單獨(dú)配置--> <mappers> <mapper resource="sqlmap/UserMapper.xml"/> <mapper resource="sqlmap/OtherMapper.xml"/> </mappers> </configuration>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用SpringMVC在redirect重定向的時(shí)候攜帶參數(shù)的問題
這篇文章主要介紹了使用SpringMVC在redirect重定向的時(shí)候攜帶參數(shù)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03IDEA 2020.1 版自動(dòng)導(dǎo)入MAVEN依賴的方法(新版MAVEN無法自動(dòng)導(dǎo)入/更新POM依賴、MAVEN設(shè)置自動(dòng)更
這篇文章主要介紹了IDEA 2020.1 版自動(dòng)導(dǎo)入MAVEN依賴的方法(新版MAVEN無法自動(dòng)導(dǎo)入/更新POM依賴、MAVEN設(shè)置自動(dòng)更新、自動(dòng)更新快捷鍵),需要的朋友可以參考下2020-08-08java中利用List的subList方法實(shí)現(xiàn)對List分頁(簡單易學(xué))
本篇文章主要介紹了java中l(wèi)ist數(shù)據(jù)拆分為sublist實(shí)現(xiàn)頁面分頁的簡單代碼,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法
這篇文章主要介紹了詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09java實(shí)現(xiàn)適用于安卓的文件下載線程類
本文給大家分享的是java實(shí)現(xiàn)適用于安卓的文件下載線程類的代碼,有需要的小伙伴可以參考下2015-07-07SpringBoot實(shí)現(xiàn)elasticsearch 查詢操作(RestHighLevelClient 
這篇文章主要給大家介紹了SpringBoot如何實(shí)現(xiàn)elasticsearch 查詢操作,文中有詳細(xì)的代碼示例和操作流程,具有一定的參考價(jià)值,需要的朋友可以參考下2023-07-07Spring?Cloud?oauth2?認(rèn)證服務(wù)搭建過程示例
這篇文章主要為大家介紹了Spring?Cloud?oauth2?認(rèn)證服務(wù)搭建過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06