java springboot测试类Transactional解决 测试过程中在数据库留下测试数据问题

好 目前 我们已经完成了表现层对应的测试了
但这里有个坑 如果我们在执行某个声明周期时 包含了测试的过程 它会在数据库中留下一条数据
在这里插入图片描述
但真实企业开发 绝对不允许 过一遍留一组数据的

那么 我们的期望就是 执行测试过程 但不要留下任何数据

这是我们的数据库表
在这里插入图片描述
然后 这里 我们在测试类中 调用一下连数据库的函数 测试一下添加操作
在这里插入图片描述
然后 我们右键运行函数
在这里插入图片描述
然后再回头查看数据库

我们右键表 然后选择刷新表
在这里插入图片描述
然后再重新打开 好家伙 这下数据还进来了
在这里插入图片描述
我们这里加一个注解 Transactional 这是 spring 添加事务的注解

在这里插入图片描述
我们再次右键运行
在这里插入图片描述
然后 我们回头 刷新 查看数据库表
在这里插入图片描述
这下数据就没进来了

或者说 其实数据已经进来了 但是 又被事务回滚了 Transactional 和 Rollback 可以配合使用
不过一般来讲 Rollback 用不到
Rollback 控制事务是否回滚 默认值是true
我们将代码改成这样
在这里插入图片描述
Rollback设为false 表示 事务不回滚 然后我们右键运行之后查看数据库表

我们数据就进来了 因为不回滚了
在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值