一. Mapper映射配置文件
在JDBC中,我們會把訪問數據庫的代碼放在Dao層,也就是建一個com.dao的package;
但在 MyBatis 中, 我們的包名推薦使用 mapper , 並且我們只需要寫一個映射配置文件即可, 不需要寫接口和實現類了.
UserMapper.xml, 用於定義要執行的 SQL 語句, 同時設定返回結果的類型.
1.編寫mapper層的xml映射配置文件

2. 在MyBatis核心配置文件中添加 mapper 掃描
MyBatis核心配置文件即 mybatis.xml

3.測試
mybatis啟動流程:
- 加載核心配置文件
- 構建工廠
- 打開session
- 執行sql
- 釋放資源
二. MyBatis 所有配置文件詳解
1.MyBatis核心配置文件
(1)configuration
- 這是配置文件的根元素, 所有的其他元素都要在這個標簽下使用.
(2)environments
- 用於管理所有的環境, 並可以指定默認使用哪個環境. 通過default 屬性來指定.
(3)environment
- 用於配置環境, id 屬性用於唯一標識當前環境
(4)transcationManager事務管理器:
用於配置事務管理器其中的type 屬性用於指定 MyBatis 采用何種方式管理事務:
- JDBC: 表示 MyBatis 采用與原生 JDBC 一致的方式管理事務
- MANAGED: 表示將事務管理交給其他容器進行, 例如 Spring1.5用於配置數據源, 設置 MyBatis 是否使用連接池技術, 並且配置數據庫連接的四個參數
(5)datasource數據源:
它的type 屬性用於設置 MyBatis 是否使用連接池技術:
它的type 屬性用於設置 MyBatis 是否使用連接池技術:
- POOLED, 表示采用連接池技術(可以減少每次獲取連接的時間)
- UNPOOLED, 表示每次都會開啟和關閉連接, 不使用連接池技術
- JNDI, 使用其他容器(例如 Spring)提供數據源
(6)<proverty name= value= />
- 用於配置數據庫連接參數(driver, url, username, password)
(7)<mappers></mappers>
- 用於掃描 mapper 信息
(8)properties標簽

- 在前面聲明了properties標簽並使用resouce參數指明指向的文件后,我們在<property name= value=>中的value,可以直接使用${}形式獲取.properties文件中的值;
- 注意:.properties文件中,存儲的文本都是鍵值對形式, 而${}表示get(key);
(9)settings標簽
(10)typeAliases標簽
- 給一個類起別名;
- 子標簽: <typeAlias type=com.tjpu.mapper.UserMapper alias="u"/>
- 這個時候,我們在文件中再向調用com.tjpu.mapper.UserMapper時,我們只需要寫u就可以了;
- 子標簽: <package name=com.tjpu.mapper/> 那么這個包下所有類的全限定路徑名都被起了個別名, 別名就是他們的類名;
2. mapper 層的映射配置文件
2.1<mappers></mappers>
根元素
(1) namespace 屬性
用於指定命名空間, mybatis 是通過 namespace+id 的方式來定位 SQL語句的, 所以必須指定namespace. 通常namespace被配置為全限定路徑
(2)select屬性
表示查詢;
三. MyBatis 中常用的三個查詢方法
1.selectList
用於查詢多條數據的情況, 返回值是一個 list 集合. 如果沒有查到任何數據, 返回沒有元素的空List集合(空集合, 不是 null)
2. selectOne
用於查詢單條數據的情況, 返回值是一個對象. 如果沒有查到任何數據, 返回 null
3. selectMap
用於查詢多條數據的情況, 多條數據要形成一個 Map 集合(即鍵值對), 需要指定哪個屬性作為 key. 如果查不到, 返回一個空 map 集合(不是 null);
注意:selectMap方法, 也可以調用mapper層xml映射配置文件中的 selAll;
