qq_38391703 2020-03-19 13:43 采纳率: 0%
浏览 498

springboot @Transactional无效 请大神解答

这是controller
@Autowired
PlanMgrService planMgrService;

@RequestMapping(value = "/test",method = RequestMethod.POST)
@ApiOperation(value = "测试", notes = "测试")
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public void test() {

    try {
        planMgrService.doInsert() ;
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

这是service 重复主键会引发异常

    @Transactional(rollbackFor = {Exception.class, Error.class},value="defaultTransactionManager")
    public  void doInsert() throws Exception{
        String sql1 = "insert into td_app_ref_user (user_id, app_user_id) values (?,?)";
        try {

            DBHelper.insert(sql1, "3831","3831");
            DBHelper.insert(sql1, "3831","3831");
        } catch (Exception e) {
            throw e;
        }
    }

图片说明图片说明
引入的这个依赖

org.springframework.boot
spring-boot-starter-jdbc
2.0.4.RELEASE

oracle 数据库操作用的阿帕奇的DBUtil工具
结果还是插入了一条 没有回滚
不知道是否正确

  • 写回答

1条回答 默认 最新

  • 「已注销」 2020-03-20 17:13
    关注

    如果你要使用DBHelper类,那么就使用DBHelper类中的事务操作方法

    评论

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译