您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

springBoot框架方法上面添加@Transactional注解的使用 postgresql数据库

bubuko 2022/1/25 19:34:22 java 字数 3431 阅读 958 来源 http://www.bubuko.com/infolist-5-1.html

@Transactional如果在一个方法上面添加@Transactional注解 查看postgresql数据库当前的事务隔离级别: @Transactional public void updateData(){ aService.updateA();//更新A表 bService.update ...

@Transactional如果在一个方法上面添加@Transactional注解

查看postgresql数据库当前的事务隔离级别:

 技术分享图片

 

 

@Transactional

public void updateData(){

aService.updateA();//更新A表

bService.updateB();//更新B表

cService.updateC();//更新C表

}

假设,如果每一个service只会对应的更新他所对应的这张表,下面这三个方法上面加不加@Transactional效果都是一样的。不会对最终的结果产生影响。

Pubic void updateA(){

    //只进行更新A表的操作

}

Pubic void updateB(){

    //只进行更新B表的操作

}

Pubic void updateC(){

    //只进行更新C表的操作

}

这种架构,的意思是将ABC三张表的更新操作绑定成一个原子,更新的时候,要成功都成功,要失败都失败。

如果将上面的架构换成下面这种模式:

public void updateData(){

aService.updateA();//更新A表

if(1==1){

Throw new BussinessException(“模拟发生异常”);

}

bService.updateB();//更新B表

cService.updateC();//更新C表

}

假设,如果每一个service只会对应的更新他所对应的这张表,下面这三个方法上面加不加@Transactional效果都是一样的。不会对最终的结果产生影响。

Pubic void updateA(){

    //只进行更新A表的操作

}

Pubic void updateB(){

    //只进行更新B表的操作

}

Pubic void updateC(){

    //只进行更新C表的操作

}

我们会发现程序抛出了异常,但是A表成功的更新了数据。

 

 

springBoot框架方法上面添加@Transactional注解的使用 postgresql数据库

原文:https://www.cnblogs.com/dongyaotou/p/13294549.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶