摘要:前言目前的大環(huán)境下,使用作為持久層框架還是占了絕大多數(shù)的,下面我們來說一下使用的幾種姿勢。測試測試的程序與之前的一致,我們直接訪問,可以看到成功的結(jié)果姿勢三使用的姿勢和可以與上面兩種方式進行結(jié)合,。。。接口的實現(xiàn)是通過。然后我們將的改為。
前言
目前的大環(huán)境下,使用Mybatis作為持久層框架還是占了絕大多數(shù)的,下面我們來說一下使用Mybatis的幾種姿勢。
姿勢一:零配置注解開發(fā) 第一步:引入依賴首先,我們需要在pom文件中添加依賴:
第二步:配置文件這里我們采用yml來進行編寫,與properties文件相比,yml看起來更加簡潔優(yōu)雅,這里需要注意的是driver-class-name這個屬性我們采用的是com.mysql.cj.jdbc.Driver而非之前的com.mysql.jdbc.Driver,如果采用之前包下的Driver,控制臺會打印出一行這樣的信息告訴我們?nèi)ビ眯碌膥
第三步:指定MapperScan首先,我們需要在啟動類指定@MapperScan,這樣做就可以不用去挨個的在Mapper接口中添加@Mapper注解。這里的值就是你的Mapper接口所在的包的路徑。
第四步:編寫Mapper接口通過@Select注解和@Results注解可以指定SQL語句以及返回值。當(dāng)然,其他的不同的操作也有不同的注解,比如@Insert、@Update、@Delete
第五步:測試程序編寫訪問 localhost:8081/user/findAll,我們就可以看到測試的結(jié)果:
姿勢二:XML我們用的最多的是這種方式,下面來看看怎么去實現(xiàn),第一步與姿勢一的重復(fù),這里就不再多做闡述
第一步:編寫配置文件我們需要在配置文件中添加mybatis-config.xml的路徑以及用于Mapper*.xml的文件的路徑:
第二步:編寫Mapper接口以及配置文件:Mapper接口:
mybatis-config.xml:
UserMapper.xml:
這里需要注意UserMapper.xml中的namespace需要與接口的路徑一致,否則會出現(xiàn)錯誤。
測試:測試的程序與之前的一致,我們直接訪問localhost:8082/user/findAll,可以看到成功的結(jié)果:
姿勢三:SqlSession使用SqlSession的姿勢和可以與上面兩種方式進行結(jié)合,emmm。。??梢赃@么理解,SQL就在那里,只不過分為了兩個不同的方法去調(diào)用。其余的代碼我們就不再多講,直接來看是如何調(diào)用的:
可以看到,參數(shù)寫的是要調(diào)用的方法的路徑(這里是與namespace相對應(yīng))。下面我們可以運行一下程序:
姿勢四:基于SqlSession的升級這里,我們基于SqlSession進行了一次升級,首先我們寫了一個BaseDao,作為一個公用的接口。接口的實現(xiàn)是通過sqlSessionTemplate。
然后我們將*Mapper.xml的namespace改為*Mapper?,F(xiàn)在,我們可以直接將所有的Mapper接口刪除,直接通過dao進行調(diào)用~
然后我們來啟動程序后去訪問
關(guān)于Mybatis的使用,我們就先講到這里~
源碼可以去github或者碼云上進行下載,后續(xù)的例子都會同步更新。
公眾號原創(chuàng)文章,文筆有限,才疏學(xué)淺,文中若有不正之處,萬望告知。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75590.html
摘要:用戶態(tài)不能干擾內(nèi)核態(tài)所以指令就有兩種特權(quán)指令和非特權(quán)指令不同的狀態(tài)對應(yīng)不同的指令。非特權(quán)指令所有程序均可直接使用。用戶態(tài)常態(tài)目態(tài)執(zhí)行非特權(quán)指令。 這是我今年從三月份開始,主要的大廠面試經(jīng)過,有些企業(yè)面試的還沒來得及整理,可能有些沒有帶答案就發(fā)出來了,還請各位先思考如果是你怎么回答面試官?這篇文章會持續(xù)更新,請各位持續(xù)關(guān)注,希望對你有所幫助! 面試清單 平安產(chǎn)險 飛豬 上汽大通 浩鯨科...
摘要:上一篇學(xué)習(xí)了服務(wù)提供者,但是并不是單單就學(xué)習(xí)了服務(wù)提供者。中間還穿插使用了數(shù)據(jù)源和整合。但是上篇使用時還是沿用了老的方式,需要配置對應(yīng)的文件。 1、上一篇學(xué)習(xí)了服務(wù)提供者provider,但是并不是單單就學(xué)習(xí)了服務(wù)提供者。中間還穿插使用了Hikari數(shù)據(jù)源和spring cloud整合mybatis。但是上篇使用mybatis時還是沿用了老的方式,需要配置mapper對應(yīng)的xml文件。...
摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...
摘要:如果我們在動態(tài)中用到了參數(shù)作為判斷條件,那么也是一定要加注解的,例如如下方法定義出來的如下這種情況,即使只有一個參數(shù),也需要添加注解,而這種情況卻經(jīng)常被人忽略好了,不知道大家有沒有到呢有問題歡迎留言討論。 有一些小伙伴覺得 MyBatis 只有方法中存在多個參數(shù)的時候,才需要添加 @Param 注解,其實這個理解是不準(zhǔn)確的。即使 MyBatis 方法只有一個參數(shù),也可能會用到 @Par...
摘要:引入了新的環(huán)境和概要信息,是一種更揭秘與實戰(zhàn)六消息隊列篇掘金本文,講解如何集成,實現(xiàn)消息隊列。博客地址揭秘與實戰(zhàn)二數(shù)據(jù)緩存篇掘金本文,講解如何集成,實現(xiàn)緩存。 Spring Boot 揭秘與實戰(zhàn)(九) 應(yīng)用監(jiān)控篇 - HTTP 健康監(jiān)控 - 掘金Health 信息是從 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...
閱讀 882·2021-11-18 10:02
閱讀 1703·2019-08-30 15:56
閱讀 2578·2019-08-30 13:47
閱讀 2649·2019-08-29 12:43
閱讀 864·2019-08-29 11:19
閱讀 1794·2019-08-28 18:23
閱讀 2680·2019-08-26 12:23
閱讀 3019·2019-08-23 15:29