MyBatis-Plus 如何单元测试的实现

所属分类: 软件编程 / java 阅读数: 55
收藏 0 赞 0 分享

最近项目中使用了 MyBatis-Plus,点击看官方文档

使用一个新的框架,首先是验证框架的使用。
 使用 MyBatis-Plus,首先就验证一下能否成功操作(CRUD)数据库。

如何通过不用启动项目,然后可以测试 MyBatis-Plus 查询数据。

所以首要想到的是单元测试 @Test

第一步

通过 MyBatis-Plus 的代码生成工具生成数据库表对应的文件

MyBatis-Plus 对于单表操作,有一个内置的 mapper 接口方法,service 的接口我暂时没使用并没验证过。

使用过 MyBatis 的应该都知道,在 service 层使用 mapper.java 来操作数据库,并且 mapper.xml 里面是有对应的查询入口。

-- service

public class EntityServiceImp{
 @Autowired
 private EntityMapper mapper;
 public void test(){
 // 服务层调用 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 这么麻烦,可通过调用内置一些单表的接口方法。

第二步

在 src/test/java 下面创建测试用例

@RunWith(SpringRunner.class)
@SpringBootTest
public class DbTest {
 
 @Autowired
 private LogYjxxMapper logYjxxMapper;

 @Test
 public void test2() {
 // selectList 是内置的方法,logYjxxMapper中并不需要自己定义 selectList 这么一个方法
 // selectList括号里的参数是条件构造器,可参看官方文档
 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 了。

更多精彩内容其他人还在看

Javaweb 鼠标移入移出表格颜色变化的实现

这篇文章主要介绍了Javaweb 鼠标移入移出表格颜色变化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java 实现图片压缩的两种方法

这篇文章主要介绍了Java 实现图片压缩的两种方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

据说这个是可以撸到2089年的idea2020.2(推荐)

这篇文章主要介绍了据说这个是可以撸到2089年的idea2020.2,本教程给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

这篇文章主要介绍了一篇文章带你搞定SpringBoot不重启项目实现修改静态资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

win10操作系统下重启电脑java环境变量失效

这篇文章主要介绍了win10操作系统下重启电脑java环境变量失效,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java实现批量修改文件名和重命名的方法

这篇文章主要介绍了Java实现批量修改文件名和重命名的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

关于Java HashMap自动排序的简单剖析

这篇文章主要给大家介绍了关于Java HashMap自动排序的简单剖析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring中BeanFactory和ApplicationContext的作用和区别(推荐)

这篇文章主要介绍了Spring中BeanFactory和ApplicationContext的作用和区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java程序执行Cmd指令所遇问题记录及解决方案

这篇文章主要介绍了Java程序执行Cmd指令所遇问题记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

深入浅析jni中的java接口使用

这篇文章主要介绍了jni中的java接口使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多