MyBatis-Plus 如何單元測試的實現(xiàn)
最近項目中使用了 MyBatis-Plus,點擊看官方文檔。
使用一個新的框架,首先是驗證框架的使用。
使用 MyBatis-Plus,首先就驗證一下能否成功操作(CRUD)數(shù)據(jù)庫。
如何通過不用啟動項目,然后可以測試 MyBatis-Plus 查詢數(shù)據(jù)。
所以首要想到的是單元測試 @Test
第一步
通過 MyBatis-Plus 的代碼生成工具生成數(shù)據(jù)庫表對應的文件
MyBatis-Plus 對于單表操作,有一個內(nèi)置的 mapper 接口方法,service 的接口我暫時沒使用并沒驗證過。
使用過 MyBatis 的應該都知道,在 service 層使用 mapper.java 來操作數(shù)據(jù)庫,并且 mapper.xml 里面是有對應的查詢?nèi)肟凇?br />
-- service
public class EntityServiceImp{ @Autowired private EntityMapper mapper; public void test(){ // 服務層調(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ù)是條件構造器,可參看官方文檔 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 了。
到此這篇關于MyBatis-Plus 如何單元測試的實現(xiàn)的文章就介紹到這了,更多相關MyBatis-Plus 單元測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java線程池ThreadPoolExecutor原理及使用實例
這篇文章主要介紹了Java線程池ThreadPoolExecutor原理及使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05Java之NoClassDefFoundError的原因及分析
在Java開發(fā)中,經(jīng)常會遇到ClassNotFoundException和NoClassDefFoundError異常,ClassNotFoundException發(fā)生在編譯時JVM無法找到類,而NoClassDefFoundError則發(fā)生在運行時JVM無法加載類,這兩個異常雖然原因相似,但有本質(zhì)區(qū)別2024-09-09springboot @ConfigurationProperties和@PropertySource的區(qū)別
這篇文章主要介紹了springboot @ConfigurationProperties和@PropertySource的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例
這篇文章主要為大家介紹了ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03