JDBC事务管理

什么是事务?
每个连接数据库的用户都是一个事务
事务管理
1.回滚(撤销) rollback 事务回滚,直接回滚到上一次commit的位置
rollback to [回滚点];回滚到指定的回滚点的位置
2. 提交(保存)commit
3.设置回滚点 setpoint 名字(自定义)
事务的四大特性(ACID)

  • 原子性(Atomicity) : 是指事务中包含的操作都被看做是一个逻辑单元
  • 一致性(Consistency): 开始前和结束后数据库都处于一致性状态
  • 隔离性(Isolation): 对数据库修改的多个事务是彼此隔离的
  • 持久性(Durability): 事务完成之后对系统的影响是永久的
    示例
public void insertTest(){
    try {
        Connection conn = DBUtils.getConnection();
        //设置是否自动提交(true默认,false代表不提交)
        conn.setAutoCommit(false);
        insertDept(conn);
        insertStaff(conn);
        //提交事务
        conn.commit();
    } catch(Exception e){
        syso("出现异常,进行回滚");
        e.printStackTrace();
    } finally{
        try {
            //事务回滚
            conn.rollback();
            //关闭连接对象
            conn.close();
        } catch(Exception e){}
    }
}

数据库连接池
系统初始化时创建连接池,程序操作数据库时从连接池中获取空闲连接,程序使用完毕将连接归还到连接池中,系统退出时,断开所有数据库连接并释放内存资源
连接池的优点:

  • 数据库连接资源得到重用
  • 减少数据库连接建立和释放的时间开销,提高系统响应速度
  • 统一的数据库连接管理,避免连接资源的泄露
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值