spring的JdbcTemplate事务使用
spring的JdbcTemplate事务使用
绿林小子 发表于2年前
spring的JdbcTemplate事务使用
  • 发表于 2年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: spring的JdbcTemplate事务使用。

     参考  http://my.oschina.net/lhplj/blog/341555    

public boolean transferMoney(Serializable fromId, Serializable toId,
			int tradeMoney) {
		// 标识
		boolean flag = false;
		//
		String sql[] = new String[2];
		sql[0] = "update BankAccount ba set ba.balance = ba.balance - "
				+ tradeMoney + " where ba.id='" + fromId + "'";
		sql[1] = "update BankAccount ba set ba.balance = ba.balance + "
				+ tradeMoney + " where ba.id='" + toId + "'";
		// 事务
		DefaultTransactionDefinition def = new DefaultTransactionDefinition();
		DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(
				jt.getDataSource());
		TransactionStatus status = transactionManager.getTransaction(def);
		// 执行结果
		int result[] = new int[sql.length];
		// 批量执行
		result = this.jt.batchUpdate(sql);
		// 是否提交事务
		boolean commit = true;
		for (int j = 0; j < result.length; j++) {
			if (result[j] == 0) { // 错误执行
				commit = false;
				transactionManager.rollback(status);
				break;
			}
		}
		// 成功才提交事务
		if (commit) {
			transactionManager.commit(status);
			flag = true;
		}
		// 返回
		return flag;
	}




  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 4
博文 115
码字总数 45566
×
绿林小子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: