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