MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn)
最近項(xiàng)目中使用了 MyBatis-Plus,點(diǎn)擊看官方文檔。
使用一個(gè)新的框架,首先是驗(yàn)證框架的使用。
使用 MyBatis-Plus,首先就驗(yàn)證一下能否成功操作(CRUD)數(shù)據(jù)庫(kù)。
如何通過(guò)不用啟動(dòng)項(xiàng)目,然后可以測(cè)試 MyBatis-Plus 查詢數(shù)據(jù)。
所以首要想到的是單元測(cè)試 @Test
第一步
通過(guò) MyBatis-Plus 的代碼生成工具生成數(shù)據(jù)庫(kù)表對(duì)應(yīng)的文件
MyBatis-Plus 對(duì)于單表操作,有一個(gè)內(nèi)置的 mapper 接口方法,service 的接口我暫時(shí)沒(méi)使用并沒(méi)驗(yàn)證過(guò)。
使用過(guò) MyBatis 的應(yīng)該都知道,在 service 層使用 mapper.java 來(lái)操作數(shù)據(jù)庫(kù),并且 mapper.xml 里面是有對(duì)應(yīng)的查詢?nèi)肟凇?br />
-- service
public class EntityServiceImp{
@Autowired
private EntityMapper mapper;
public void test(){
// 服務(wù)層調(diào)用 mapper.java 中的 selectEntityList 方法
mapper.selectEntityList(map);
}
}
-- mapper.java
public interface EntityMapper {
// mapper.xml 有一個(gè)id='selectEntityList' 的 select 塊
List<entity> selectEntityList(Map<String, Object> map);
}
--mapper.xml
<mapper namespace="com.example.mapper.EntityMapper" > <resultMap id="BaseResultMap" type="com.example.pojo.Entity" ></resultMap > <select id="selectEntityList" resultMap="BaseResultMap" parameterType="map" > select * from entity where ..... </select> <mapper>
然而使用 MyBatis-Plus,對(duì)于單表操作,不需要像 MyBatis 這么麻煩,可通過(guò)調(diào)用內(nèi)置一些單表的接口方法。
第二步
在 src/test/java 下面創(chuàng)建測(cè)試用例
@RunWith(SpringRunner.class)
@SpringBootTest
public class DbTest {
@Autowired
private LogYjxxMapper logYjxxMapper;
@Test
public void test2() {
// selectList 是內(nèi)置的方法,logYjxxMapper中并不需要自己定義 selectList 這么一個(gè)方法
// selectList括號(hào)里的參數(shù)是條件構(gòu)造器,可參看官方文檔
List<LogYjxx> yjxxLoglist = logYjxxMapper.selectList(new QueryWrapper<LogYjxx>()
.eq("lx", YjxxConstant.LX_SF)
.and(i -> i.in("zt", 2,3).or().isNull("zt"))
);
for (LogYjxx logYjxx : yjxxLoglist) {
System.out.println(logYjxx);
}
}
}
重點(diǎn): 類上方的兩個(gè)注解(@RunWith(SpringRunner.class) @SpringBootTest)很重要,不要漏了。
好了,通過(guò)以上兩步,就可以很順利的驗(yàn)證自己的 sql 了。
到此這篇關(guān)于MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MyBatis-Plus 單元測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Spring?Boot使用Undertow服務(wù)的方法
Undertow是RedHAT紅帽公司開(kāi)源的產(chǎn)品,采用JAVA開(kāi)發(fā),是一款靈活,高性能的web服務(wù)器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默認(rèn)Web容器,這篇文章給大家介紹了在Spring?Boot使用Undertow服務(wù)的方法,感興趣的朋友跟隨小編一起看看吧2023-05-05
MyBatis框架之mybatis逆向工程自動(dòng)生成代碼
Mybatis屬于半自動(dòng)ORM,在使用這個(gè)框架中,工作量最大的就是書(shū)寫(xiě)Mapping的映射文件,由于手動(dòng)書(shū)寫(xiě)很容易出錯(cuò),我們可以利用Mybatis-Generator來(lái)幫我們自動(dòng)生成文件。本文主要給大家介紹mybatis逆向工程自動(dòng)生成代碼,感興趣的朋友一起學(xué)習(xí)吧2016-04-04
maven中自定義MavenArchetype的實(shí)現(xiàn)
Maven自身提供了許多Archetype來(lái)方便用戶創(chuàng)建Project,為了避免在創(chuàng)建project時(shí)重復(fù)的拷貝和修改,我們通過(guò)自定義Archetype來(lái)規(guī)范顯得還蠻有必要,下面就來(lái)介紹一下,感興趣的可以了解一下2025-01-01
SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽(tīng)session是否過(guò)期詳解
這篇文章主要介紹了SpringMVC攔截器實(shí)現(xiàn)監(jiān)聽(tīng)session是否過(guò)期詳解,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-11-11
java并發(fā)訪問(wèn)重復(fù)請(qǐng)求過(guò)濾問(wèn)題
本篇文章給大家分享了關(guān)于java并發(fā)訪問(wèn)重復(fù)請(qǐng)求過(guò)濾的相關(guān)問(wèn)題以及解決方法,對(duì)此有需要的朋友參考學(xué)習(xí)下。2018-05-05
java中xml進(jìn)行報(bào)文發(fā)送和解析操作
這篇文章主要介紹了java中xml進(jìn)行報(bào)文發(fā)送和解析操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
SpringBoot實(shí)現(xiàn)熱部署的方式總結(jié)
所謂熱部署,就是在應(yīng)用正在運(yùn)行的時(shí)候升級(jí)軟件,卻不需要重新啟動(dòng)應(yīng)用,對(duì)于Java來(lái)說(shuō),熱部署就是在運(yùn)行時(shí)更新Java類文件,本文將深入探討SpringBoot有哪些方式可以實(shí)現(xiàn)熱部署,感興趣的朋友可以小編一探討學(xué)習(xí)2023-06-06
淺談什么是SpringBoot異常處理自動(dòng)配置的原理
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot異常處理自動(dòng)配置展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06

