目錄
一、MyBatis
基本概念介紹
二、MyBatis 快速入門
1、快速入門案例
2、idea中配置資料庫
三、Mapper 代理開發
1、開發目的
2、Mapper 代理方式
一、MyBatis
基本概念介紹
▶ 什麼是MyBatis
MyBatis 本是Apache 的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis。 2013年11月遷移到Github。
持久層架構,它支援自定義 SQL、存儲過程以及進階映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設定參數和擷取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為資料庫中的記錄。
官網連接配接: https://mybatis.net.cn/
▶ 架構
▶ 持久層
- 架構就是一個半成品軟體,是一套可重用的、通用的、軟體基礎代碼模型
- 在架構的基礎之上建構軟體編寫更加高效、規範、通用、可擴充
- 負責将資料儲存到資料庫的那一層代碼
- JavaEE三層架構: 表現層、業務層、持久層
▶ JDBC 的缺點
1、寫死
▷ 重複注冊驅動,擷取連接配接
▷ 重複的SQL語句
2、操作繁瑣
▷ 手動設定參數
▷ 手動封裝結果集
▶ MyBatis 簡化操作
1、連接配接、SQL語句等全部寫到配置檔案中
![]()
MyBatis 快速入門及Mapper代理開發。 2、免除了擷取結果集的操作,一句話搞定![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。
二、MyBatis 快速入門
1、快速入門案例
▶ 查詢資料庫表中的資料
1、建立user表,添加資料
2、建立子產品,導入坐标
3、編寫MyBatis 核心配置檔案:替換連接配接資訊,解決寫死問題。
4、編寫SQL映射檔案:統一管理sql語句,解決寫死問題。
5、編碼:
① 定義POJO類
② 加載核心配置檔案,擷取 SqlSessionFactory 對象
③ 擷取 SqlSession 對象 , 執行SQL語句
④ 釋放資源
▶ 建立user表,添加資料
建立資料庫,建立表,并向其中添加資料
![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 建立子產品,導入坐标
1、建立子產品
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 2、導入坐标
去MyBatis官網找。
代碼置于 pom.xml 檔案中 :![]()
MyBatis 快速入門及Mapper代理開發。 注意:當我們需要其他jar包的時候,就需要導入坐标即可,列如:![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 還需要在resources下面添加一個配置檔案![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 編寫MyBatis 核心配置檔案
依舊是看官網上的資訊,有:
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 編寫SQL映射檔案
依舊是去MyBatis官網找:
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 編碼
① 定義POJO類:這裡就是将User類寫好
![]()
MyBatis 快速入門及Mapper代理開發。 ② 加載核心配置檔案,擷取 SqlSessionFactory 對象
首先官網上找到對應的代碼(因為官網有,不需要自己寫)
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ③ 擷取 SqlSession 對象 , 執行SQL語句
④ 釋放資源
![]()
MyBatis 快速入門及Mapper代理開發。 2、idea中配置資料庫
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。
三、Mapper 代理開發
1、開發目的
▶ 解決原生方式中的寫死,簡化後期執行SQL
原生
代理![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 2、Mapper 代理方式
▶ 步驟▶ 第一步
- 定義與SQL映射檔案同名的Mapper接口,并且将Mapper接口和SQL映射檔案放置在同一目錄下
- 設定SQL映射檔案的namespace屬性為Mapper接口全限定名
- 在Mapper接口中定義方法,方法名就是SQL映射檔案中sql語句的id,并保持參數類型和傳回值類型一緻
- 編碼:通過 SqliSession的 getMapper方法擷取 Mapper接口的代理對象,②調用對應方法完成sq/的執行。
![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 第二步![]()
MyBatis 快速入門及Mapper代理開發。 ▶ 第三步![]()
MyBatis 快速入門及Mapper代理開發。 注意1:![]()
MyBatis 快速入門及Mapper代理開發。 ![]()
MyBatis 快速入門及Mapper代理開發。 注意2:
細節:如果Mapper接口名稱和SQL映射檔案名稱相同,并在同一目錄下,則可以使用包掃描的方式簡化SQL映射檔案的加載
▶ 第四步編碼![]()
MyBatis 快速入門及Mapper代理開發。