• JDBC事务


    事务:由一个或多个执行、完成的语句组成,以组的形式提交或回滚。当前事务结束,另一个事务开始。

    在JDBC中,事务默认是自动提交的,即每执行一条语句,就是一个事务。

    事务特性:ACID特征,Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)。

    • 原子性:指整个事务是不可以分割的工作单元。只有事务中所有的操作执行成,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该回到执行事务前的状态。
    • 一致性:指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如对于银行转账事务,不管事务成功还是失败,应该保证事务结束后两个转账账户的存款总额是与转账前一致的。
    • 隔离性:指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。
    • 持久性:指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

    事务各个特征的实现手段:

    • 原子性:日志
    • 一致性:日志
    • 隔离性:锁机制
    • 持久性:日志

    JDBC事务是自动提交的,如果要使用的话,应该将连接改为非自动提交模式:

    conn.setAutoCommit(false); //标志着新事务的开始

    conn.commit(); //提交

    conn.rollback(); //回滚

    不自动提交的主要目的就是保持多个sql语句同时生效,让表中的数据一致。

  • 相关阅读:
    react 编写日历组件
    腾讯地图打开地图选取位置 withMap
    react 动态修改 document.title
    axios 中断请求
    react 使用 react-loadable分包
    http Authorization
    @media screen媒体查询
    CSS规范
    布局和WEB性能
    CSS 标签的分类,及显示模式
  • 原文地址:https://www.cnblogs.com/yeming/p/5368891.html
Copyright © 2020-2023  润新知