一、什么是事务

我们通常会认为事务与数据库有关。

事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的操作。事务的正确执行使得数据库从一种状态转换成另外一种状态。

事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

原子性(atomicity):即不可分割性,事务要么全部被执行,要么就全部不被执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生转换;如果有子事务失败,则其他子事务的数据库操作被回滚,即数据库回到事务执行前的状态,不会发生状态转换。

一致性(consistency):事务的执行使得数据库从一种正确状态转换成另一种正确状态。

隔离性(isolation):在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,即在事务正确提交之前,它可能的结果不应显示给任何其他事务

持久性(durability):事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。

运行嵌入式SQL应用程序或脚本,在可执行SQL语句第一次执行时(在建立与数据库的连接之后或在现有事务终止之后),事务就会自动启动。在启动事务之后,必须由启动事务的用户或应用程序显式地终止它,除非使用了称为自动提交(automatic commit)的过程(在这种情况下,发出      的每个单独的SQL语句被看做单个事务,它一执行就被隐式地提交了)。

在大多数情况下,通过执行COMMIT或ROLLBACK语句来终止事务。当执行COMMIT语句时,自从事务启动以来对数据库所做的一切更改就成为永久性的了-- 即它们被写到磁盘。当执行ROLLBACK语句时,自从事务启动以来对数据库所做的一切更改都被撤销,并且数据库返回到事务开始之前所处的状态。不管是哪种情况,数据库在事务完成时都保证能回到一致状态。

一定要注意一点:虽然事务通过确保对数据的更改仅在事务被成功提交之后才成为永久性的,从而提供了一般的数据库一致性,但还是须要用户或应用程序来确保每个事务中执行的SQL操作序列始终会导致一致的数据库。

java事务_JAVA事务相关推荐

  1. java 嵌套事务_Java事务以及嵌套事务

    知识点:java事务属性 Propagation取值: REQUIRED(默认值):在有transaction状态下执行:如当前没有transaction,则创建新的transaction: SUPP ...

  2. java mysql 分布式事务_java事务(三)——自己实现分布式事务

    在上一篇<java事务(二)--本地事务>中已经提到了事务的类型,并对本地事务做了说明.而分布式事务是跨越多个数据源来对数据来进行访问和更新,在JAVA中是使用JTA(Java Trans ...

  3. java 事物_java事务

    1.事务的四大特性 (1)原子性(Atomicity): 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚.失败回滚的操作事务,将不能对数据库有任何影响 (2)一致性(Consistency ...

  4. java spring 事务_java 事务与spring 声明式事务

    Spring声明式事务让我们从复杂的事务处理中得到解脱.使得我们再也无需要去处理获得连接.关闭连接.事务提交和回滚等这些操作.再也无需要我们在与事务相关的方法中处理大量的try-catch-final ...

  5. java 分布式事务_Java核心知识 Spring原理十五 JPA 原理

    1. 事务 事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity ).一致性 ( Consistency ).隔离性 ( Isolation ) 和持久性 ( Dur ...

  6. java 事务_Java中事务总结详解(精华)

    1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (is ...

  7. java service层 事务_Java高并发秒时啊API之Service层1

    ---2-1 使用Spring托管Service依赖理论---------------------------- spring ioc优势(工厂模式): 1.对象创建统一托管 2.规范的生命周期管理 ...

  8. java jdbc事务_Java JDBC事务管理和保存点

    java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...

  9. java jta 例子_Java事务与JTA

    一.什么是JAVA事务 通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令.更简答的说就是:要么 ...

最新文章

  1. 2021-2027年中国一氧化氮行业市场研究及前瞻分析报告
  2. fastjson这么快,为啥老外还是热衷 jackson?
  3. 新电脑装不了win7?来试试我的方法!
  4. Windows环境下Pin(二进制动态插桩引擎)搭建
  5. linux rt 应用程序,RTlinux编程
  6. java 学到什么实习_我的外展实习从今天开始! 到目前为止,这是我已经完成并学到的东西。...
  7. 用 pycharm 可视化管理 sqlite 数据库
  8. eclipse中ctrl+h默认打开是JavaSearch,怎么设置成默认打开是FileSearch
  9. 谷歌浏览器官网默认只能下载在线安装包(只有几兆大小)若想下载完整的离线安装包,可以用以下官方链接
  10. Redis下载部署并加入idea应用(详细笔记)
  11. 一位,四位数码管引脚图
  12. MATLAB学习:解一阶常系数微分方程
  13. 媒体应用视频超分AI神器!360P视频一键转换HD
  14. 2017年终总结,2018首次送书!
  15. 记录Springboot+Mybatis_Plus进行CRUD与分页的注意点
  16. HTML基础知识整理
  17. 高中数学基础10:二项分布与二项式定理
  18. 最大类间方差法(大津法OTSU)原理
  19. Linux教程【一】
  20. 输入年和月份,输出这一年该月份有多少天。

热门文章

  1. Linux报错nginx: [emerg] unexpected “}”
  2. CRMEB后台前端文档说明
  3. 修改mysql文件位置_如何修改mysql数据文件存储位置
  4. android xml 解析天气,Retrofit2解析天气API XML接口
  5. 手机鸿蒙公测选择一个应用,鸿蒙系统公测半个月,首批“差评”很难听,但是却也很真实...
  6. image转pixmap qt_Qt 编程指南10 QImage Mat QPixmap转换
  7. python中的sys模块和os_python中os与sys作用与区别
  8. oracle 多个实例互相切换实例
  9. 提取图片纹理_Fundamentals Of Computer Graphics 第十一章 纹理映射(中)
  10. html 保存xlsx,HTML SaveXLSX按钮防止将数据保存到SlickGrid的XLSX文件中