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或者碼雲上進行下載,后續的例子都會同步更新。


雲擼貓


公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM