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

好 目前 我们已经完成了表现层对应的测试了

但这里有个坑 如果我们在执行某个声明周期时 包含了测试的过程 它会在数据库中留下一条数据

但真实企业开发 绝对不允许 过一遍留一组数据的

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

这是我们的数据库表

然后 这里 我们在测试类中 调用一下连数据库的函数 测试一下添加操作

然后 我们右键运行函数

然后再回头查看数据库

我们右键表 然后选择刷新表

然后再重新打开 好家伙 这下数据还进来了

我们这里加一个注解 Transactional 这是 spring 添加事务的注解

我们再次右键运行

然后 我们回头 刷新 查看数据库表

这下数据就没进来了

或者说 其实数据已经进来了 但是 又被事务回滚了 Transactional 和 Rollback 可以配合使用

不过一般来讲 Rollback 用不到

Rollback 控制事务是否回滚 默认值是true

我们将代码改成这样

Rollback设为false 表示 事务不回滚 然后我们右键运行之后查看数据库表

我们数据就进来了 因为不回滚了

相关推荐
Json____20 分钟前
从零构建家政服务平台:一套全栈架构如何打通管理端与移动端-java-springboot
java·spring boot·后端·架构·毕设·wwwoop.com
abcyuu37 分钟前
福州中小企业业财一体化系统权限管理与数据安全实践方案
大数据·网络·数据库
云雀衔光1 小时前
Java Spring AI MCP:在 Spring 里把 AI 接上你的业务系统
java·开发语言·人工智能·后端·测试工具·spring
重生之小比特1 小时前
【Java SE】数据类型与变量
java·开发语言·python
苏渡苇1 小时前
Spring Insight 里如何对 Span 进行清洗
java·spring boot·后端·spring·系统监控
find1star1 小时前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
Yeniden1 小时前
Java 后端从零到企业级:第1篇 Java 基础语法——变量、数据类型与运算符
java·开发语言·apache
邪修king1 小时前
Linux系统篇(二十三) 基础 IO:从“文件”到“文件描述符”,彻底理解重定向
android·java·linux
WeiXin_DZbishe1 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
云雀衔光1 小时前
MCP + 应用生成:让 AI 直接产出可交互的应用
java·人工智能·测试工具·microsoft·交互·ai编程