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