码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-10-17 14:31:39      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:四种   log   学习   提交   数据操作   相关   另一个   https   一致性   

每一个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

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

标签:四种   log   学习   提交   数据操作   相关   另一个   https   一致性   

原文地址:https://www.cnblogs.com/bestxyl/p/9803221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!