MyBatis核心配置文件深入分析
MyBatis 的核心配置文件是 mybatis-config.xml。注意配置文件中節(jié)點的順序有要求,必須按照下面的順序填寫節(jié)點信息:
(properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,reflectorFactory,plugins,environments,databaseIdProvider,mappers)
<configuration>
<properties></properties>
<settings></settings>
<typeAliases></typeAliases>
<typeHandlers></typeHandlers>
<objectFactory></objectFactory>
<objectWrapperFactory></objectWrapperFactory>
<reflectorFactory></reflectorFactory>
<plugins></plugins>
<environments></environments>
<databaseIdProvider></databaseIdProvider>
<mappers></mappers>
</configuration>環(huán)境配置與 mappers 映射器
基本的 MyBatis 配置:
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!--每個mapper.xml都需要在mybatis配置文件中進行配置-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>在上面這段配置中配置了運行環(huán)境以及 mappers 映射器。
配置 environment 時,通過 transactionManager 指定事務管理器,通過 dataSource 指定數(shù)據(jù)庫的引擎類型、連接方式、用戶名、密碼。
mappers 映射器用來和代碼中寫的 mapper 一一對應,在代碼中寫一個 mapper 接口和 mapper.xml 文件,就需要在 mappers 映射器中增加一個 mapper 節(jié)點。
屬性(properties)
在寫 mybatis-config.xml 環(huán)境配置的時候,將數(shù)據(jù)庫的連接信息直接寫在了 mybatis-config.xml 配置文件中,不方便后續(xù)的更改,因此可以使用屬性(properties)的能力。
在 resources 目錄下新建一個 db.properties:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=123
接著在 mybatis-config.xml 的 configuration 中添加 properties 節(jié)點,注意這個節(jié)點的位置必須放在首位。
<properties resource="db.properties"> </properties>
接著就可以用 properties 中的屬性去代替 xml 中的屬性
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
設置(settings)
配置文件中的 settings 是 MyBatis 中極為重要的調整設置,它們會改變 MyBatis 的運行時行為。
常用的設置有以下幾種:

設置的配置方式如下:
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="false"/>
<setting name="logImpl" value="NO_LOGGING"/>
</settings>類型別名(typeAliases)
類型別名可為 Java 類型設置一個縮寫名字。 它僅用于 XML 配置,意在降低冗余的全限定類名書寫。
類型別名有兩種方式,第一種是對類取別名,第二種是指定一個包名
<mapper namespace="com.cn.mapper.UserMapper">
<select id="getUserList" resultType="com.cn.pojo.User">
select * from user;
</select>
</mapper>
第一種方式是對類取別名,這里的 resultType 寫的是類的全限定名,我們可以在 mybatis-config.xml 中使用類型別名來簡化。typeAliases 在配置文件中的位置需要放在 setting 后面
<typeAliases>
<typeAlias type="com.cn.pojo.User" alias="user"/>
</typeAliases>
這樣設置之后就可以在 resultType 中直接使用 user
<mapper namespace="com.cn.mapper.UserMapper">
<select id="getUserList" resultType="user">
select * from user;
</select>
</mapper>
第二種方式是指定一個包名,MyBatis 會在指定的包名路徑下搜索需要的 JavaBean。修改配置文件,使用包名來指定
<typeAliases>
<package name="com.cn.pojo"/>
</typeAliases>
每一個在包 com.lanqiaoyun.pojo 中的 Java Bean,在沒有注解的情況下,會使用 Bean 的首字母小寫的非限定類名來作為它的別名。 比如 com.lanqiaoyun.pojo.User 的別名為 user;若有注解,則別名為其注解值
@Alias("user")
public class User {
...
}
上方所示完整配置文件如下:
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="db.properties">
</properties>
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="false"/>
<setting name="logImpl" value="NO_LOGGING"/>
</settings>
<typeAliases>
<package name="com.cn.pojo"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<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>
<!--每個mapper.xml都需要在mybatis配置文件中進行配置-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>到此這篇關于MyBatis核心配置文件深入分析的文章就介紹到這了,更多相關MyBatis配置文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis-plus?Wrapper條件構造器updateForSet更新方式
這篇文章主要介紹了mybatis-plus?Wrapper條件構造器updateForSet更新方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
springboot項目連接多種數(shù)據(jù)庫該如何操作詳析
在Spring Boot應用中連接多個數(shù)據(jù)庫或數(shù)據(jù)源可以使用多種方式,下面這篇文章主要給大家介紹了關于springboot項目連接多種數(shù)據(jù)庫該如何操作的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08
Spring?Boot?3.1中整合Spring?Security和Keycloak的方法
本文介紹在最新的SpringBoot3.1版本之下,如何將Keycloak和Spring?Security一起跑起來,文中結合實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2023-06-06
mybatis-parameterType傳入map條件方式
這篇文章主要介紹了mybatis-parameterType傳入map條件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
IDEA創(chuàng)建Maven項目后報錯不出現(xiàn)src文件夾的情況解決
最近剛開始學習maven,正準備使用idea創(chuàng)建一個maven項目練手,卻發(fā)現(xiàn)自己創(chuàng)建的maven項目始終沒有src目錄,下面這篇文章主要給大家介紹了關于IDEA創(chuàng)建Maven項目后報錯不出現(xiàn)src文件夾的情況解決,需要的朋友可以參考下2023-05-05
java實用小技巧之判斷l(xiāng)ist是否有重復項簡單例子
這篇文章主要給大家介紹了關于java實用小技巧之判斷l(xiāng)ist是否有重復項的相關資料,在開發(fā)工作中我們有時需要去判斷List集合中是否含有重復的元素,需要的朋友可以參考下2023-10-10

