• 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

  • 相关阅读:
    软工实践练习一——使用Git进行代码管理心得
    作业1.3——Android平台的开发环境的发展演变
    作业1.2——软件工程的实践项目的自我目标
    SVN冲突解决
    sea.js及三种加载方式的异同
    php中AJAX请求中使用post和get请求的区别
    Vue-起步篇:Vue与React、 Angular的区别
    页面常见布局以及实现方法--flex
    requestAnimationFrame之缓动的应用
    bootstrap中table页面做省市区级联效果(级联库见前面级联编辑)(非select下拉框)
  • 原文地址:https://www.cnblogs.com/bestxyl/p/9803221.html
Copyright © 2020-2023  润新知