社区
Web 开发
帖子详情
Spring手动回滚事务
zhengliusu
2019-01-31 03:41:04
如图,代码会走到catch里,然后正常返回,但是第一条数据还是入库了。
这是为什么?哪位大牛可以解释下,以及怎么让第一条数据不入库。
...全文
1404
2
打赏
收藏
Spring手动回滚事务
如图,代码会走到catch里,然后正常返回,但是第一条数据还是入库了。 这是为什么?哪位大牛可以解释下,以及怎么让第一条数据不入库。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhengliusu
2019-01-31
打赏
举报
回复
自己sb了。之前测试的时候propagation设置的都是required,后来改成support之后忘了改回去了。 所以 1. 为什么走到catch里,第一条数据仍然落库了。 因为support的propagation,表示的是有事务用事务,没有事务就不用事务。所以这里是没有事务的。那么就会执行一条数据落库一条,之后出现异常对之前的没有影响。 2. 解决办法 将support改为required,或者其他。
zhengliusu
2019-01-31
打赏
举报
回复
spring
手动
开启
事务
,
手动
提交
事务
,
手动
回滚
事务
1.未加
事务
注解(或者
事务
配置), 所以需要
手动
开启
事务
和
手动
提交
事务
和
手动
回滚
事务
@Autowired private PlatformTransactionManager txManager; @Autowired private ShopGroupBuyDao shopGroupBuyDao; @GetMapping(value = "/transactionDemo") public void ceshi() { //
手动
开启
事务
start De
利用
Spring
的
事务
模版来
手动
回滚
事务
在
spring
配置文件中,配置
事务
模版类对应的bean 在service中使用
事务
模版,在需要进行
事务
回滚
的地方,
手动
回滚
当前
事务
,见如下代码 :Message msg = transactionTemplate.execute(new TransactionCallback() { @Override public Message doInTransaction(Trans
spring
手动
让
事务
回滚
spring
手动
让
事务
回滚
可以使用**TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();**进行
手动
回滚
@Transactional public void methodC() { UserDo userDo = new UserDo(); userDo.setM...
java
手动
事务
回滚
_通过
手动
抛自定义异常实现
spring
事务
回滚
spring
默认
事务
管理:默认当一个方法出现RunTimeException(运行期异常)时会自动
回滚
事务
。有些时候,我们需要从业务上对
spring
事务
进行控制,这时候,如果用
spring
的默认
事务
管理,
事务
没有
回滚
就达不到我们所期望的结果。demo用的
spring
+mybatis+
spring
mvc+mysql。解决方法:applicationContext-service.xml 中增删改方法...
spring
事务
自动
回滚
失效解决方法——设置
手动
回滚
spring
事务
无法自动
回滚
例子: 如下代码在异常处理模块中发生异常时
spring
无法自动
回滚
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = RuntimeException.class) @Override public int insertSelective(User record) throws RuntimeException{ int i = 0; try {
Web 开发
81,111
社区成员
341,726
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章