1. 程式人生 > >Spring Boot 2.x(四):整合Mybatis的四種方式

Spring Boot 2.x(四):整合Mybatis的四種方式

前言

目前的大環境下,使用Mybatis作為持久層框架還是佔了絕大多數的,下面我們來說一下使用Mybatis的幾種姿勢。

姿勢一:零配置註解開發

第一步:引入依賴

首先,我們需要在pom檔案中新增依賴:

第二步:配置檔案

這裡我們採用yml來進行編寫,與properties檔案相比,yml看起來更加簡潔優雅,這裡需要注意的是driver-class-name這個屬性我們採用的是com.mysql.cj.jdbc.Driver而非之前的com.mysql.jdbc.Driver,如果採用之前包下的Driver,控制檯會打印出一行這樣的資訊告訴我們去用新的~

第三步:指定MapperScan

首先,我們需要在啟動類指定@MapperScan,這樣做就可以不用去挨個的在Mapper介面中新增@Mapper註解。這裡的值就是你的Mapper介面所在的包的路徑。

第四步:編寫Mapper介面

通過@Select註解和@Results註解可以指定SQL語句以及返回值。當然,其他的不同的操作也有不同的註解,比如@Insert@Update@Delete

第五步:測試程式編寫

訪問 localhost:8081/user/findAll,我們就可以看到測試的結果:

姿勢二:XML

我們用的最多的是這種方式,下面來看看怎麼去實現,第一步與姿勢一的重複,這裡就不再多做闡述

第一步:編寫配置檔案

我們需要在配置檔案中新增mybatis-config.xml的路徑以及用於Mapper*.xml的檔案的路徑:

第二步:編寫Mapper介面以及配置檔案:

Mapper介面:

mybatis-config.xml:

UserMapper.xml:

這裡需要注意UserMapper.xml中的namespace需要與介面的路徑一致,否則會出現錯誤。

測試:

測試的程式與之前的一致,我們直接訪問localhost:8082/user/findAll,可以看到成功的結果:

姿勢三:SqlSession

使用SqlSession的姿勢和可以與上面兩種方式進行結合,emmm。。。可以這麼理解,SQL就在那裡,只不過分為了兩個不同的方法去呼叫。其餘的程式碼我們就不再多講,直接來看是如何呼叫的:

可以看到,引數寫的是要呼叫的方法的路徑(這裡是與namespace相對應)。下面我們可以執行一下程式:

姿勢四:基於SqlSession的升級

這裡,我們基於SqlSession進行了一次升級,首先我們寫了一個BaseDao,作為一個公用的介面。介面的實現是通過sqlSessionTemplate。 然後我們將*Mapper.xmlnamespace改為*Mapper。現在,我們可以直接將所有的Mapper介面刪除,直接通過dao進行呼叫~

然後我們來啟動程式後去訪問

關於Mybatis的使用,我們就先講到這裡~

原始碼可以去github或者碼雲上進行下載,後續的例子都會同步更新。


雲擼貓


公眾號

原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望