天天看點

MyBatis 快速入門及Mapper代理開發。

目錄

​​一、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代理開發。
MyBatis 快速入門及Mapper代理開發。
        2、免除了擷取結果集的操作,一句話搞定
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官網找。

MyBatis 快速入門及Mapper代理開發。
         代碼置于 pom.xml 檔案中 :
MyBatis 快速入門及Mapper代理開發。
注意:當我們需要其他jar包的時候,就需要導入坐标即可,列如:
MyBatis 快速入門及Mapper代理開發。
MyBatis 快速入門及Mapper代理開發。
還需要在resources下面添加一個配置檔案
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 代理方式

▶ 步驟
  1. 定義與SQL映射檔案同名的Mapper接口,并且将Mapper接口和SQL映射檔案放置在同一目錄下
  2. 設定SQL映射檔案的namespace屬性為Mapper接口全限定名
  3. 在Mapper接口中定義方法,方法名就是SQL映射檔案中sql語句的id,并保持參數類型和傳回值類型一緻
  4. 編碼:通過 SqliSession的 getMapper方法擷取 Mapper接口的代理對象,②調用對應方法完成sq/的執行。
▶ 第一步
MyBatis 快速入門及Mapper代理開發。
MyBatis 快速入門及Mapper代理開發。
MyBatis 快速入門及Mapper代理開發。
MyBatis 快速入門及Mapper代理開發。
MyBatis 快速入門及Mapper代理開發。
▶ 第二步
MyBatis 快速入門及Mapper代理開發。
▶ 第三步
MyBatis 快速入門及Mapper代理開發。
 注意1:
MyBatis 快速入門及Mapper代理開發。

注意2:

         細節:如果Mapper接口名稱和SQL映射檔案名稱相同,并在同一目錄下,則可以使用包掃描的方式簡化SQL映射檔案的加載

MyBatis 快速入門及Mapper代理開發。
▶ 第四步編碼