JDBC--手动开启Connection事务

在三层架构的业务逻辑层中,为保证数据一致性,常需要使用事务进行多步Dao操作。通过Connection接口手动开启事务,确保所有SQL在同一连接下执行。事务的开始、提交和回滚应在业务逻辑层处理,异常也应在此统一处理。以下是使用Connection启动事务的代码示例。
摘要由CSDN通过智能技术生成

        三层架构中的业务逻辑层是处理业务逻辑的部分,很多时候需要调用多步Dao层的增删改操作,这就涉及到使用事务保证数据的一致性。

       Connection接口自带的事务机制需要保证多步SQL操作使用相同的连接对象,这样才能保证事务的执行环境。

       事务的边界一般是在业务逻辑层的(即事务的开启、提交、回滚都是在业务逻辑层),因为业务逻辑层会涉及多步操作,所以Connection对象要在业务逻辑层创建,然后将Connection对象传给Dao层的方法即可。

       为了确保事务的正确性,异常要统一在业务逻辑层处理


下面展示使用Connection启动事务的具体代码

	/**
	 * 开始事务
	 * @param cnn
	 */
	public static void beginTransaction(Connection cnn){
		if(cnn!=null){
			try {
				if(cnn.getAutoCommit()){
					cnn.setAutoCommit(false);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 提交事务
	 * @param cnn
	 */
	
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值