Java之JDBC事务管理

1 .事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则多个事务要么同时成功,要么同时失败。

2.操作:
(1):开启事务
(2):提交事务
(3):回滚事务
3.使用Connection conn对象来管理事务
*开启事务:conn.setAutoCommit(boolen autoCommit);调用该方法参数为false。即开启事务(在执行sql之前)
*提交事务:conn.commit();(当所有sql都执行完)
*回滚事务:conn.rollback();(在catch中回滚事务)
例如:
public class UsersDao {
//添加用户
public static boolean insert(User user){
Connection conn=null;
//Statement stmt=null;
PreparedStatement preStmt=null;
ResultSet rs=null;

    try{
        //获取数据库的连接
        conn=JDBCUtils.getConnection();
        //定义SQL语句

        
       String sql="insert into user(username,password,usertype) values(?,?,?)";
       //开启事务
       conn.setAutoCommit(false);
        //获取Statement对象
        preStmt=conn.prepareStatement(sql);
      
        String username=user.getUsername();
        String password=user.getPassword();
        String usertype=user.getUsertype();
   System.out.println("请输入要添加的信息:");
        //preStmt.setString(1,id);
        preStmt.setString(1,username);
        preStmt.setString(2,password);
        preStmt.setString(3,usertype);
        

        //发送SQL语句
        int num=preStmt.executeUpdate();
        //提交事务
        if(num>0){
            return true;
        }
        return false;
    }catch (Exception e){
        try {
            conn.rollback();
            
        }catch (Exception ee){
            ee.printStackTrace();
        }
        e.printStackTrace();
    }finally {
        JDBCUtils.release(rs,preStmt,conn);
    }
    return false;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值