首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

接口测试中使用JpaRepository做数据库层校验

背景

接口测试脚本中,对于数据库内容的校验一直比较麻烦。

石器时代 定义数据源,创建JdbcTemplate,然后直接拼接SQL来查询。通用性很差。

工业革命 使用mybatis,定义数据源,定义domain,定义sql映射的xml文件,定义具体操作的DAO层。搭建起来很费时间,后期也经常需要维护。

现代化 用spring-data-jpa,简简单单继承JpaRepository,遵循spring data的规范定义查询接口,无需写实现类就可使用,大大减少数据访问层(DAO)的开发量。

实践

完整的介绍一下使用JpaRepository的过程。

第一步

首先定义表结构对应的PO,以下图这张表为例。

定义TestPO,注意通过注解的方式,把表名、字段名设置下。

第二步

这里是最重要的一步:定义具体的查询接口。只需要继承JpaRepository就可。

可以看到JpaRepository中只提供了一些简单的操作,并不满足我们的需求。

就如开头所说的,JpaRepository的强大在于只要遵循spring data的规范把数据查询的接口定义出来就可使用,无需写实现类。spring data的规范参考。按照Spring Data的规范的规范,查询方法以find | read | get 开头,涉及查询条件时,条件的属性用条件关键字连接,要注意的是条件属性以首字母大写。

以testPO为例,常用的需求是根据taskId来查询多条testPO记录来校验。

根据taskId来查询所有testPO记录

有时候,我们只需要最新的那条记录,则可以这么写

YY下,我们需要多个条件同时满足来查询

用法非常多,直接上一份前辈的总结

第三步

大头都做完了,剩下的就是定义datasource和创建实例了。

定义datasource,根据各自的数据库环境来定义。

创建实例:

第四步

剩下的就是具体的使用,以一个单测为例。

更多测试技术文章,微信扫以下二维码,欢迎关注

测码奔跑-让测试技术奔跑起来

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180307G1MD6I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券