事务的执行代码实现以及设置隔离级别

本文总结了在事务执行过程中遇到的问题,包括因关闭资源时的空指针异常以及代码执行成功但数据库值不变的情况。针对这些问题,提出了相应的解决方案:一是修改关闭资源的方式,避免空指针;二是发现数据库的自动提交设置为FALSE导致数据未提交,建议在关闭连接前设置自动提交为TRUE,或者手动调用conn.setAutoCommit(true)进行提交。此外,还讨论了事务的隔离级别设置。
摘要由CSDN通过智能技术生成

1、事务的执行 

package jdbc_5_transaction;

import jdbc_2_util.JDBCUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class TransactionTest01 {
    public static void main(String[] args)  {
        Connection conn=null;
        try{
            conn=JDBCUtils.getConnection();
            //取消自动提交
            conn.setAutoCommit(false);
            String sql1="update user_table set balance =balance-100 where user=?";
            update(conn,sql1,"AA");
            System.out.println(10/0);
            String sql2 = "update user_table set balance = balance + 100 where user = ?";
            update(conn,sql2, "BB");
            System.out.println("转账成功");
            conn.commit();
        }catch(Exception e){
            e.printStackTrace();
            try {
                conn.rollback();
            } catch (SQLExcept
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值