MyBatis框架詳解—MyBatis配置文件

本篇文章主要內(nèi)容
主配置文件
dataSource?標(biāo)簽
事務(wù)
別名
mapper?文件
主配置文件
之前項(xiàng)目中使用的mybatis.xml 是主配置文件。主配置文件特點(diǎn):
1.?xml?文件,需要在頭部使用約束文件

2. 根元素,<configuration>
3. 主要包含內(nèi)容:
定義別名
數(shù)據(jù)源
mapper?文件
dataSource?標(biāo)簽
Mybatis 中訪問數(shù)據(jù)庫,可以連接池技術(shù),但它采用的是自己的連接池技術(shù)。在 Mybatis 的 mybatis.xml 配 置 文 件 中 , 通 過 <dataSource type=” pooled”>來實(shí)現(xiàn) Mybatis 中連接池的配置。
dataSource?類型

上圖看出?Mybatis?將數(shù)據(jù)源分為三類:?
UNPOOLED 不使用連接池的數(shù)據(jù)源
POOLED 使用連接池的數(shù)據(jù)源
JNDI 使用JNDI?實(shí)現(xiàn)的數(shù)據(jù)源
其中 UNPOOLED ,POOLED 數(shù)據(jù)源實(shí)現(xiàn)了javax.sq.DataSource 接口, JNDI 和前面兩個(gè)實(shí)現(xiàn)方式不同,了解可以。

dataSource?配置
在MyBatis.xml?主配置文件,配置dataSource:

MyBatis 在初始化時(shí),根據(jù)<dataSource>的 type 屬性來創(chuàng)建相應(yīng)類型的的數(shù)據(jù)源DataSource,即:
type=”POOLED”:MyBatis 會(huì)創(chuàng)建 PooledDataSource 實(shí)例
type=”UNPOOLED” : MyBatis會(huì)創(chuàng)建 UnpooledDataSource 實(shí)例
type=”JNDI”:MyBatis 會(huì)從JNDI 服務(wù)上查找DataSource 實(shí)例,然后返回使用。
事務(wù)
(1)?默認(rèn)需要手動(dòng)提交事務(wù)
Mybatis 框架是對(duì)JDBC 的封裝,所以 Mybatis 框架的事務(wù)控制方式,本身也是用JDBC 的 Connection 對(duì)象的commit(), rollback() .
Connection 對(duì)象的setAutoCommit()方法來設(shè)置事務(wù)提交方式的。自動(dòng)提交和手工提交、
<transactionManager type="JDBC"/>
該標(biāo)簽用于指定 MyBatis 所使用的事務(wù)管理器。MyBatis 支持兩種事務(wù)管理器類型:
JDBC 與MANAGED。
JDBC:使用JDBC?的事務(wù)管理機(jī)制。即,通過Connection?的 commit() 方法提交,通過rollback()方法回滾。但默認(rèn)情況下,MyBatis?將自動(dòng)提交功能關(guān)閉了,改為了手動(dòng)提交。即程序中需要顯式的對(duì)事務(wù)進(jìn)行提交或回滾。從日志的輸出信息中可以看到。

ANAGED:由容器來管理事務(wù)的整個(gè)生命周期(如 Spring 容器)。
(2)?自動(dòng)提交事務(wù)
設(shè)置自動(dòng)提交的方式,factory 的openSession() 分為有參數(shù)和無參數(shù)的。

有參數(shù)為true,使用自動(dòng)提交,可以修改MyBatisUtil 的getSqlSession()方法。
session = factory.openSession(true);
再執(zhí)行insert 操作,無需執(zhí)行session.commit(),事務(wù)是自動(dòng)提交的
使用數(shù)據(jù)庫屬性配置文件
為了方便對(duì)數(shù)據(jù)庫連接的管理,DB 連接四要素?cái)?shù)據(jù)一般都是存放在一個(gè)專門的屬性文件中的。MyBatis 主配置文件需要從這個(gè)屬性文件中讀取這些數(shù)據(jù)。
步驟:
(1)?在 classpath?路徑下,創(chuàng)建 properties?文件
在resources?目錄創(chuàng)建jdbc.properties?文件,文件名稱自定義。

(2)?使用 properties?標(biāo)簽
修改主配置文件,文件開始位置加入:

(3)?使用 key?指定值

typeAliases(類型別名)
Mybatis 支持默認(rèn)別名,我們也可以采用自定義別名方式來開發(fā),主要使用在
<select resultType=” 別 名 ”>?
mybatis.xml 主配置文件定義別名:

mapper.xml 文件,使用別名表示類型

mappers(映射器)
(1)?<mapper resource=" "?/>
使用相對(duì)于類路徑的資源,從classpath 路徑查找文件
例如:<mapper resource="com/bjpowernode/dao/StudentDao.xml" />
(2)?<package?name=""/>
指定包下的所有 Dao 接口
如:<package name="com.bjpowernode.dao"/>
注意:此種方法要求Dao 接口名稱和mapper 映射文件名稱相同,且在同一個(gè)目錄中。
最后奉上視頻教程??,視頻觀看效果更佳?。∽哌^路過別忘素質(zhì)三連哦~~
