MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn)
最近項(xiàng)目中使用了 MyBatis-Plus,點(diǎn)擊看官方文檔。
使用一個(gè)新的框架,首先是驗(yàn)證框架的使用。
使用 MyBatis-Plus,首先就驗(yàn)證一下能否成功操作(CRUD)數(shù)據(jù)庫(kù)。
如何通過不用啟動(dòng)項(xiàng)目,然后可以測(cè)試 MyBatis-Plus 查詢數(shù)據(jù)。
所以首要想到的是單元測(cè)試 @Test
第一步
通過 MyBatis-Plus 的代碼生成工具生成數(shù)據(jù)庫(kù)表對(duì)應(yīng)的文件
MyBatis-Plus 對(duì)于單表操作,有一個(gè)內(nèi)置的 mapper 接口方法,service 的接口我暫時(shí)沒使用并沒驗(yàn)證過。
使用過 MyBatis 的應(yīng)該都知道,在 service 層使用 mapper.java 來操作數(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 這么麻煩,可通過調(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)很重要,不要漏了。
好了,通過以上兩步,就可以很順利的驗(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)文章
Java線程池ThreadPoolExecutor原理及使用實(shí)例
這篇文章主要介紹了Java線程池ThreadPoolExecutor原理及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Java之NoClassDefFoundError的原因及分析
在Java開發(fā)中,經(jīng)常會(huì)遇到ClassNotFoundException和NoClassDefFoundError異常,ClassNotFoundException發(fā)生在編譯時(shí)JVM無法找到類,而NoClassDefFoundError則發(fā)生在運(yùn)行時(shí)JVM無法加載類,這兩個(gè)異常雖然原因相似,但有本質(zhì)區(qū)別2024-09-09
細(xì)數(shù)java for循環(huán)中的那些坑
這篇文章主要介紹了Java for循環(huán)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
springboot @ConfigurationProperties和@PropertySource的區(qū)別
這篇文章主要介紹了springboot @ConfigurationProperties和@PropertySource的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java裝飾器設(shè)計(jì)模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java裝飾器設(shè)計(jì)模式的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05
Java如何使用Set接口存儲(chǔ)沒有重復(fù)元素的數(shù)組
Set是一個(gè)繼承于Collection的接口,即Set也是集合中的一種。Set是沒有重復(fù)元素的集合,本篇我們就用它存儲(chǔ)一個(gè)沒有重復(fù)元素的數(shù)組2022-04-04
ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例
這篇文章主要為大家介紹了ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

