当前位置: 首页 > news >正文

java 不可不知的数据库知识-----事物

每一个java开发对数据库都不会陌生,提到数据库,那么就一定要了解的一个知识点------事物,下面就对事物简单记录一下相关知识点。

最初接触事物的时候其实是从JDBC事物开始的,JDBC比较基础,这里不做太多解释(网上一大堆)。

  • 事物的四大特性
  1. 原子性:顾名思义,原子是目前科学技术上不可再分的最小单位,事物的原子性是指一个事物是一个整体,要么全部成功,要么全部失败。
  2. 一致性:事物的一致性官方的解释:事物必须是数据库从一个一致性状态到另一个一致性状态,这个理解起来有些复杂,其实一致性就是数据库中的数据操作要保证数据的一致,不能凭空增减。
  3. 隔离性:这个比较好理解,就是不同的事物之间不能彼此干扰。
  4. 持久性:事物的持久性就是事物一旦提交,那么这个事物对数据库的操作是永久性的。
  • 事物的隔离级别

说明:在多线程的程序下,多线程各自开启了自己的事物进行数据库操作时,数据库要保证隔离操作,以保证各个线程获取数据时的准确性。

  1. 如果不考虑事物的一致性会引起哪些后果呢
    1. 脏读:即一个事物读取了另一个事物未提交的数据
    2. 不可重复读:即一个事物前后读取数据库得到的数据不一致
    3. 虚读:即在一个事物内读到了另一个事物将要插入的数据,导致前后读取不一致
  2. Mysql四种隔离级别
    1. Serializable(串行化):可避免脏读、不可重复读、虚读
    2. Repeatable read(可重复读):可避免脏读、不可重复读
    3. Read committed(读已提交):只可避免脏读
    4. Read umcommitted(读未提交):最低级别,不可避免任何情况

 

以上是学习事物的随笔,希望各位大大多多指正,谢谢!

参考:大神孤傲苍狼博客:https://www.cnblogs.com/xdp-gacl/p/3984001.html

转载于:https://www.cnblogs.com/bestxyl/p/9803221.html

相关文章:

  • JavaScript 浏览器对象(三)
  • 命令行程序测试自动化
  • Linux命令行翻译工具
  • 保障邮件安全
  • Linux系统_Centos7下安装Nginx
  • 源码安装Apache服务器遇到的问题及解决方法
  • 优秀互联网高级测试工程师应该具备的能力
  • raid5实现原理
  • Go 可变参数和切片
  • Tomcat7 catalina.out 日志分割
  • storm drpc实例
  • 监控CPU(一)
  • RIP
  • Lintcode104 Merge k Sorted Lists solution 题解
  • jQuery基础一
  • [译]前端离线指南(上)
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • CSS盒模型深入
  • Elasticsearch 参考指南(升级前重新索引)
  • JavaScript实现分页效果
  • JavaWeb(学习笔记二)
  • java小心机(3)| 浅析finalize()
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Laravel5.4 Queues队列学习
  • node 版本过低
  • Zepto.js源码学习之二
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 对象引论
  • 搞机器学习要哪些技能
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 理清楚Vue的结构
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用common-codec进行md5加密
  • 提醒我喝水chrome插件开发指南
  • 用Visual Studio开发以太坊智能合约
  • 走向全栈之MongoDB的使用
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (篇九)MySQL常用内置函数
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)为什么要选择C++
  • (转)visual stdio 书签功能介绍
  • (转)编辑寄语:因为爱心,所以美丽
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET CLR基本术语
  • .NET Framework .NET Core与 .NET 的区别
  • .Net Memory Profiler的使用举例
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET中统一的存储过程调用方法(收藏)
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka