mybatis配置文件相關標籤
1.properties:引入外部properties文件內容
url:引入網絡路徑,或磁盤路徑下的資源
resource:引入類路徑下的資源
2.settings:mybatis中的重要設置項
setting用來設置每一個設置項
name:設置項名
value:設置項值
3.typeAliases別名處理器
typeAliases可以爲我們的java類型起別名(別名不區分大小寫,也就是即使你制定了別名無論大小寫,只要字母對的上就可以)。
1)typeAlias爲指定java類型起別名,
type:被指定的java類型全類名,默認別名是類名的小寫(employee,此時mapper文件中用到的全類名都能寫成此別名)
alias:指定全新別名
2)package:批量起別名,爲某包下以及該子包下的所有類起別名,默認別名是類名的小寫
name:指定包的全路徑
注意:當批量起別名的時候,若子包中有類名與父包中類名相同時,會發生衝突報錯,
這時可以在衝突的bean文件中添加@Alias註解來制定衝突類別名;
4.在mybatis內部存在許多已經起好的別名,是java中存在的數據類型
Alias | Mapped Type |
---|---|
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
object | Object |
map | Map |
hashmap | HashMap |
list | List |
arraylist | ArrayList |
collection | Collection |
iterator | Iterator |
5.typeHandlers:將數據庫的字段類型和java中的數據類型(可以是自定義的類型)進行映射,用的不多
6.plugins:mybatis的插件。
- Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
- ParameterHandler (getParameterObject, setParameters)
- ResultSetHandler (handleResultSets, handleOutputParameters)
- StatementHandler (prepare, parameterize, batch, update, query)
7.environments:環境標籤
有多環境的時候,使用default屬性進行環境的切換,值爲environment 的id值
environment 配置具體的環境,必須要有的兩個標籤transactionManager和dataSource
transactionManager:事務管理器
type:JDBC|MANAGED
– JDBC:使用了 JDBC 的提交和回滾設置,依賴於從數據源得到的連接來管理事務範圍。
JdbcTransactionFactory
–MANAGED:不提交或回滾一個連接、讓容器來管理事務的生命週期(如 JEE 應用服務器的上下 文)
ManagedTransactionFactory
– 自定義:實現TransactionFactory接口,type=全類名/ 別名
8.databaseIdProvider標籤:支出多數據廠商。
<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>
type="DB_VENDOR"就是獲得數據庫廠商標識,mybatis就可以根據數據庫廠商標識執行對應的sql給不同的數據庫廠商起別名:
Mapper映射文件中的引用:
9.mappers:註冊sql映射文件
mapper:註冊一個sql映射文件
註冊配置文件
resource:引用類路徑下的配置文件。
url:引用網絡路徑下或者磁盤路徑下的文件。
註冊接口
class:註冊接口
1、有sql映射文件,映射文件名必須和接口同名,並且放在與接口同一目錄下(顯然是不符合實際的)
2、沒有sql映射文件,所有的sql都基於註解寫下註解上。
package:批量註冊
name:接口所在的包的完全限定名,也要求映射文件名必須和接口同名,並且放在與接口同一目錄下
注意:
在mybatis-config.xml中標籤是有順序的必須按照下面標籤的順序進行配置
文檔的頂層結構如下:
configuration 配置
properties 屬性
settings 設置
typeAliases 類型命名
typeHandlers 類型處理器
objectFactory 對象工廠
plugins 插件
environments 環境
environment 環境變量
transactionManager 事務管理器
dataSource 數據源
databaseIdProvider 數據庫廠商標識
器
objectFactory 對象工廠
plugins 插件
environments 環境
environment 環境變量
transactionManager 事務管理器
dataSource 數據源
databaseIdProvider 數據庫廠商標識
mappers 映射器
自己的一些總結,歡迎大家在評論區留言交流!