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

前言

目前的大環境下,使用Mybatis做爲持久層框架仍是佔了絕大多數的,下面咱們來講一下使用Mybatis的幾種姿式。mysql

姿式一:零配置註解開發

第一步:引入依賴

首先,咱們須要在pom文件中添加依賴:git

clipboard.png

clipboard.png

第二步:配置文件

clipboard.png

這裏咱們採用yml來進行編寫,與properties文件相比,yml看起來更加簡潔優雅,這裏須要注意的是driver-class-name這個屬性咱們採用的是com.mysql.cj.jdbc.Driver而非以前的com.mysql.jdbc.Driver,若是採用以前包下的Driver,控制檯會打印出一行這樣的信息告訴咱們去用新的~github

clipboard.png

第三步:指定MapperScan

首先,咱們須要在啓動類指定@MapperScan,這樣作就能夠不用去挨個的在Mapper接口中添加@Mapper註解。這裏的值就是你的Mapper接口所在的包的路徑。sql

clipboard.png

第四步:編寫Mapper接口

clipboard.png

經過@Select註解和@Results註解能夠指定SQL語句以及返回值。固然,其餘的不一樣的操做也有不一樣的註解,好比@Insert@Update@Deletemybatis

clipboard.png

第五步:測試程序編寫

clipboard.png

clipboard.png

訪問 localhost:8081/user/findAll,咱們就能夠看到測試的結果:app

clipboard.png

姿式二:XML

咱們用的最多的是這種方式,下面來看看怎麼去實現,第一步與姿式一的重複,這裏就再也不多作闡述框架

第一步:編寫配置文件

咱們須要在配置文件中添加mybatis-config.xml的路徑以及用於Mapper*.xml的文件的路徑:測試

clipboard.png

第二步:編寫Mapper接口以及配置文件:

Mapper接口:spa

clipboard.png

mybatis-config.xml:3d

clipboard.png

UserMapper.xml:

clipboard.png

這裏須要注意UserMapper.xml中的namespace須要與接口的路徑一致,不然會出現錯誤。

測試:

測試的程序與以前的一致,咱們直接訪問localhost:8082/user/findAll,能夠看到成功的結果:

clipboard.png

姿式三:SqlSession

使用SqlSession的姿式和能夠與上面兩種方式進行結合,emmm。。。能夠這麼理解,SQL就在那裏,只不過度爲了兩個不一樣的方法去調用。其他的代碼咱們就再也不多講,直接來看是如何調用的:

clipboard.png

能夠看到,參數寫的是要調用的方法的路徑(這裏是與namespace相對應)。下面咱們能夠運行一下程序:

clipboard.png

姿式四:基於SqlSession的升級

這裏,咱們基於SqlSession進行了一次升級,首先咱們寫了一個BaseDao,做爲一個公用的接口。接口的實現是經過sqlSessionTemplate
而後咱們將*Mapper.xmlnamespace改成*Mapper。如今,咱們能夠直接將全部的Mapper接口刪除,直接經過dao進行調用~

clipboard.png

clipboard.png

clipboard.png

clipboard.png

而後咱們來啓動程序後去訪問

clipboard.png

關於Mybatis的使用,咱們就先講到這裏~

源碼能夠去github或者碼雲上進行下載,後續的例子都會同步更新。


公衆號

clipboard.png

原創文章,文筆有限,才疏學淺,文中如有不正之處,萬望告知。
相關文章
相關標籤/搜索