總覽
# properties 標籤
mybatis 可以使用 properties 來引入外部 properties 配置文件的內容
如:
resource
url
# settings 標籤
settings 包含了很多重要的設置項
# typeAliases 標籤 + 內置別名
推薦不起別名:使用全類名
別名處理器,可以爲我們的java類型起別名
別名不區分大小寫(MySQL的原因)
-
typeAlias:爲某個 java 類型起別名
type:指定要起別名的類型全類名;默認別名就是類名小寫:employee
alias:指定新的別名
-
package:爲某個包下所有類批量起別名
name:指定包名(爲當前包以及下面所有的後代包的每一個類都起一個別名(類名小寫mysql原因,不區分大小寫))
-
@Alias
批量起別名的情況下,使用 @Alias 註解爲某個類型指定新的別名
# typeHandlers 標籤
需要理解 mybatis 原理
JDK1.8後,添加了JSR310
# plugins 標籤
需要理解 mybatis 原理 (後面講)
- Executor
- ParameterHandler
- ResultSetHandler 結果集處理器
- StatementHandler
# environments 標籤
環境配置
mybatis 可以配置多種環境
environments:環境夢,mybatis可以配置多種環境,default指定使用某種環境,可以達到快速切換環境
environment:配置一個具體的環境信息,必須有兩個標籤,id代表當前環境的唯一表示
- transactionManager:事務管理器
- type:事務管理器的類型;JDBC|MANAGED ⇐ 其實都是別名
JDBC ⇒JdbcTransactionFactory
MANAGED ⇒ManagedTransactionFactory
或者自定義:實現TransactionFactory
接口 , type 指定爲全類名
- type:事務管理器的類型;JDBC|MANAGED ⇐ 其實都是別名
- dataSource 數據源
type:數據源類型- UNPOOLED (
UnpooledDataSourceFactory
) 不使用連接池 - POOLED(
PooledDataSourceFactory
)使用連接池 默認使用 - JNDI (
JndiDataSourceFactory
) - 自定義:實現
DataSourceFactory
type 是全類名
- UNPOOLED (
# databaseIdProvider
一致性
支持多數據庫廠商的
同樣,別名在 configuration 類中查找
type="DB_VENDOR" , VendorDatabaseIdProvider
作用就是得到數據庫廠商的表示(驅動),
mybatis就能根據數據庫廠商表示來執行不同的sql;
實際調用的方法?
java Connection 類 有 getMetaData() 方法,得到 metaData
裏面的 getDataBAseProductName 方法 可以獲取數據庫廠商的名
# mappers
將 sql 映射註冊到全局配置中
註冊配置文件
resource
:引用類路徑下的 sql 映射文件
如:mybatis/mapper/EmployeeMapper.xml
url
:引用網絡路徑或者磁盤路徑下的sql映射文件
如:file:///var/mappers/AutorMapper.xml
引用(註冊)接口
- class:
注意:
1、如果有sql映射文件,映射文件名必須和接口同名,並且放在與接口同一目錄下【推薦】
2、 如果沒有sql映射文件,所有的sql都是利用註解寫在接口上
3、批量註冊
# 其他標籤
- 如:objectFactory
- 等。。。
- 通常 不怎麼改/ 用
插曲
dtd