Java SSM框架操作事务

配置事务管理器,spring-mvc配置中添加:


    
    
    
        
        
    

service中方法上添加注解@Transactional,当方法抛出异常时,状态回滚,如果catch异常,则回滚无效 

@Transactional
    public boolean deleteUser(String userid) throws Exception {
        boolean is_success = userDao.deleteUser(userid);
        if (!is_success) {
            throw new Exception("失败");
        }
        return is_success;
    }

​

手动实现状态回滚

//事务
            DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) ctx.getBean("transactionManager");
            DefaultTransactionDefinition def = new DefaultTransactionDefinition();
            //隔离级别
            def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
            TransactionStatus status = transactionManager.getTransaction(def);
            try {
                //用户表
                int userResult = userMapper.decide_plan_user(id, plan, String.valueOf(days.intValue()), String.valueOf(Const.WORD_INIT));
                if (userResult == 0){
                    throw new Exception();
                }
                //计划表

                transactionManager.commit(status);
            } catch (Exception e) {
                transactionManager.rollback(status);
                return ServerResponse.createByErrorMessage("更新出错!");
            }

 

你可能感兴趣的:(后台开发,java_web)