背景
接口测试脚本中,对于数据库内容的校验一直比较麻烦。
石器时代 定义数据源,创建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,根据各自的数据库环境来定义。
创建实例:
第四步
剩下的就是具体的使用,以一个单测为例。
更多测试技术文章,微信扫以下二维码,欢迎关注
测码奔跑-让测试技术奔跑起来
领取专属 10元无门槛券
私享最新 技术干货