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

 更新时间:2020年08月24日 09:36:33   作者:liujianko  
这篇文章主要介绍了MyBatis-Plus 如何单元测试的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近项目中使用了 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 了。

到此这篇关于MyBatis-Plus 如何单元测试的实现的文章就介绍到这了,更多相关MyBatis-Plus 单元测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Spring Boot使用Undertow服务的方法

    在Spring Boot使用Undertow服务的方法

    Undertow是RedHAT红帽公司开源的产品,采用JAVA开发,是一款灵活,高性能的web服务器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默认Web容器,这篇文章给大家介绍了在Spring Boot使用Undertow服务的方法,感兴趣的朋友跟随小编一起看看吧
    2023-05-05
  • MyBatis框架之mybatis逆向工程自动生成代码

    MyBatis框架之mybatis逆向工程自动生成代码

    Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。本文主要给大家介绍mybatis逆向工程自动生成代码,感兴趣的朋友一起学习吧
    2016-04-04
  • maven中自定义MavenArchetype的实现

    maven中自定义MavenArchetype的实现

    Maven自身提供了许多Archetype来方便用户创建Project,为了避免在创建project时重复的拷贝和修改,我们通过自定义Archetype来规范显得还蛮有必要,下面就来介绍一下,感兴趣的可以了解一下
    2025-01-01
  • SpringMVC拦截器实现监听session是否过期详解

    SpringMVC拦截器实现监听session是否过期详解

    这篇文章主要介绍了SpringMVC拦截器实现监听session是否过期详解,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-11-11
  • java并发访问重复请求过滤问题

    java并发访问重复请求过滤问题

    本篇文章给大家分享了关于java并发访问重复请求过滤的相关问题以及解决方法,对此有需要的朋友参考学习下。
    2018-05-05
  • Java之Spring整合Junit

    Java之Spring整合Junit

    Java Spring框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力,本篇文章带你了解如何配置数据源、注解开发以及整合Junit
    2023-04-04
  • Java算法设计与分析分治算法

    Java算法设计与分析分治算法

    这篇文章主要介绍了Java算法设计与分析分治算法,一般分治算法在正文中分解为两个即以上的递归调用,并且子类问题一般是不想交的
    2022-07-07
  • java中xml进行报文发送和解析操作

    java中xml进行报文发送和解析操作

    这篇文章主要介绍了java中xml进行报文发送和解析操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • SpringBoot实现热部署的方式总结

    SpringBoot实现热部署的方式总结

    所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用,对于Java来说,热部署就是在运行时更新Java类文件,本文将深入探讨SpringBoot有哪些方式可以实现热部署,感兴趣的朋友可以小编一探讨学习
    2023-06-06
  • 浅谈什么是SpringBoot异常处理自动配置的原理

    浅谈什么是SpringBoot异常处理自动配置的原理

    今天给大家带来的是关于Java的相关知识,文章围绕着SpringBoot异常处理自动配置展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论