Mybatis的基本應用
阿新 • • 發佈:2020-12-10
課堂目標
主要內容
- 學習Mybatis的快速入門,包括Mybatis的開發步驟、增刪改查操作;
- 瞭解Mybatis框架的配置檔案;
- 瞭解Mybatis框架的相應API;
- 瞭解Mybatis的Dao層實現,尤其是代理開發方式。
知識點掌握
- Mybatis框架的配置;
- Mybatis框架的增刪改查操作;
- Mybatis框架的API;
- Mybatis的代理開發。
課堂內容
Q1:簡述Mybatis的快速入門步驟。
A1:
- 新增MyBatis座標(環境依賴)
- 建立資料庫資料表(user表)
- 編寫實體類(User類)
- 編寫對映檔案Mapper.xml
- 編寫核心檔案SqlMapConfig.xml
- 編寫測試類
Q2:簡述Mybatis增刪改查的操作步驟。
A2:
- 編寫XML對映檔案;
- 編寫增刪改查實體類的程式碼。
注意:涉及到資料庫資料變化需要使用提交事務,無論是手動提交還是自動提交。
Q3:簡述對Mybatis框架的配置檔案的分析。
A3:Mybatis的配置檔案主要分成核心配置檔案和SQL語句的mapper對映檔案。
- 核心配置檔案(configuration配置)
- configuration
- properties 屬性
- settings 設定
- typeAliases 類型別名
- typeHandlers 型別處理器
- objectFactory 物件工廠
- plugins 外掛
- environments 環境
- environment 環境變數
- transactionManager 事務管理器
- dataSource 資料來源
- environment 環境變數
- databaseIdPrivider 資料庫廠商標識
- mapper 對映器
- configuration
- mapper對映檔案
- mapper(namespace屬性)
- select(id屬性,resultType屬性,parameterType屬性)
- SQL語句
- select(id屬性,resultType屬性,parameterType屬性)
- mapper(namespace屬性)
Q4:Mybatis框架的常用API都有哪些?
A4:
-
SqlSession工廠構造器SqlSessionFactoryBuilder
- SqlSessionFactory build(InputStream inputStream)
-
Resources工具類
- Resources.getResourceAsStream(被載入檔案路徑)
-
SqlSessionFactory常用的建立SqlSession例項的方法:
- openSession(),預設開啟一個事務,但事務不會自動提交;
- openSession(boolean autoCommit),引數為是否自動提交,如果設定為true,那麼不需要手動提交事務。
-
SqlSession會話物件
// 查詢返回一個的值 <T> T selectOne(String statement, Object parameter) // 查詢返回一個列表的值 <E> List<E> selectList(String statement, Object parameter) // 插入一條新資料 int insert(String statement, Object parameter) // 更新一條資料 int update(String statement, Object parameter) // 刪除一條資料 int delete(String statement, Object parameter)
-
SqlSession操作事務的方法
// 提交事務 void commit() // 回滾事務 void rollback()
Q5:Mybatis的代理開發方式
A5:Mapper介面開發方法只需要程式設計師編寫Mapper介面(相當於Dao介面),由Mybatis框架根據介面定義建立介面的動態代理物件,代理物件的方法體同上邊Dao介面實現類方法。
Mapper介面開發規範:
- Mapper.xml檔案中的namespace與mapper介面的全限定名相同;
- Mapper介面方法名和Mapper.xml中定義的每個statement的id相同;
- Mapper介面方法的輸入引數型別和mapper.xml中定義的每個sql的parameterType的型別相同;
- Mapper介面方法的輸出引數型別和mapper.xml中定義的每個sql的resultType的型別相同。
課堂總結
- Mybatis框架的配置
- 核心配置檔案;
- Mapper對映檔案;
- 編寫mapper介面;
- 編寫介面測試類。
- Mybatis框架的增刪改查操作(純xml方式);
- 編寫xml檔案;
- 編寫測試類;
- Mybatis框架的API;
- 載入檔案工具類Resources.getResourceAsStream();
- 工廠類構造SqlSessionFactory build(InputStream inputStream);
- 建立SqlSession例項;
- openSession();
- openSession(boolean autoCommit)
- SqlSession的方法:
- selectOne
- selectList
- insert
- update
- delete
- commit
- rollback
- Mybatis的代理開發
- 通過反射、內省的方式連線xml檔案;
- 不需要編寫介面的實現類。