3
回答
spring事务问题
华为云4核8G,高性能云服务器,免费试用   
dataSource.setDefaultAutoCommit(false);
		JdbcTemplate template = new JdbcTemplate(dataSource);
		DataSourceTransactionManager tran = new DataSourceTransactionManager(dataSource);
		DefaultTransactionDefinition def = new DefaultTransactionDefinition();//事务定义类
		def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
		TransactionStatus status = transactionManager.getTransaction(def);//返回事务对象
		try {
			String sql = "update TB_MEMBER set ACCOUNT=ACCOUNT+? where OPENID=?";
			String sql2 = "update TB_MEMBER set ACCOUNT=ACCOUNT+? where OPENID=?";
			template.update("update TB_MEMBER set ACCOUNT=ACCOUNT+"+account+" where OPENID='"+openid+"'");
			template.update("update TB_MEMBER set ACCOUNT=ACCOUNT+"+account+" where OPENID="+openid);
			transactionManager.commit(status);
		} catch (Exception ex) {
			System.out.println("##############3抛异常");
			transactionManager.rollback(status);
		}finally{
			dataSource.setDefaultAutoCommit(true);
		}


问题描述:第一条sql是正常的,执行的时候第二条报错,但是第一条的操作还是会入库,我的预想是两条都回滚。求大神帮忙看看。



举报
蓝川逸风
发帖于3年前 3回/148阅
顶部