栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot中的controller层增加事务控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot中的controller层增加事务控制

大多数编程者习惯会在service层加事务控制,当一个controller层调用了多个service的update或者insert方法时,第一个成功了,第二个失败了。那么就会有第一个的事务会回退吗的困惑。其实通过在方法上@Transactional注解就可以控制。但在controller中不要使用try catch被捕捉了就不会回退事务。反正自己动手试试就知道。 但面向很多业务时还是建议放在service再做层封装

controller

  //可行 
 @PostMapping("/updateCustTel")
    @Transactional
    public BctResponse updateCustTel(@RequestBody BctRequest reqBctRequest) throws Exception{
        log.info("UpdatePersonInfoController.updateCustTel-------->start");
        boolean flag = userInfoService.updateBySelective(userInfo);//success
        userInfoService.insert(new UserInfo()); //fail
        log.info("UpdatePersonInfoController.updateCustTel-------->end");
        return BctResponse.success();
}

//不可行
 @PostMapping("/updateCustTel")
    @Transactional
    public BctResponse updateCustTel(@RequestBody BctRequest reqBctRequest) throws Exception{
        log.info("UpdatePersonInfoController.updateCustTel-------->start");
try{
        boolean flag = userInfoService.updateBySelective(userInfo);//success
        userInfoService.insert(new UserInfo()); //fail
        log.info("UpdatePersonInfoController.updateCustTel-------->end");
}catch(Execption e){
e.getMessage()
}
        return BctResponse.success();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号