Java数据库篇5——事务

1、什么是事务

事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要有 一条SQL出现异常,整个操作就会回滚,整个业务执行失败

2、事物的特征

  • 原子性:事务是不可再分的最小的操作单位
  • 一致性:事物操作前后总量不变
  • 隔离性:各个事务的执行互不干扰
  • 持久性:持久性指事务一旦提交,对数据所做的任何改变,都要记录到存储器中

3、 事务隔离级别

3.1、并发产生的问题

并发问题 描述
脏读(Dirty read) 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,使用了这个数据
不可重复读(Unrepeatableread) 指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样
幻读(Phantom read) 幻读与不可重复读类似。它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在随后的查询中,第一个事务(T1)就会发现多了一些原本不存在的记录,就好像发生了幻觉一样

不可重复读和幻读区别:不可重复读的重点是修改,幻读的重点在于新增或者删除

3.2、事务隔离级别

级别 名字 隔离级别 脏读 不可重复读 幻读 数据库的默认隔离级别
1 读未提交 read uncommitted
2 读已提交 read committed Oracle和SQLServer
3 可重复读 repeatable read MySql
4 串行化 serializable

Java数据库篇5——事务相关推荐

  1. Java提升篇-事务隔离级别和传播机制

    转载自 Java提升篇-事务隔离级别和传播机制 问题的提出 为了保证并发操作数据的正确性及一致性,SQL规范于1992年提出了数据库事务隔离级别. 事务隔离级别分类 事务隔离级别由低往高可分为以下几类 ...

  2. Java数据库篇9——备份与还原、忘记密码

    Java数据库篇9--备份与还原.忘记密码 1.备份 备份的应用场景 在服务器进行数据传输.数据存储和数据交换,就有可能产生数据故障.比如发生 意外停机或存储介质损坏. 这时,如果没有采取数据备份和数 ...

  3. Java数据库篇8——索引、视图、存储过程、触发器

    Java数据库篇8--索引.视图.存储过程.触发器 1.索引 1.1.索引是什么 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和 运行更加高效 如果合理的 ...

  4. Java数据库篇7——数据库设计

    Java数据库篇7--数据库设计 1.第一范式 列不可再分 每一列属性都是不可再分的属性值,确保每一列的原子性 两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据 2.第二范式 属性 ...

  5. Java数据库篇6——多表查询

    Java数据库篇6--多表查询 1.笛卡尔积 交叉连接查询 设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), ...

  6. Java数据库篇4——表的约束

    Java数据库篇4--表的约束 1.非空约束 字段不允许为空 #创建表的时候添加 Create table 表名(列1 数据类型 not null,列2 数据类型,列3 数据类型 ); #创建表以后添 ...

  7. Java数据库篇3——SQL

    Java数据库篇3--SQL 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库 查询和程序设计语言,用于存取数据以及查询.更新和管 ...

  8. Java数据库篇2——数据库基本操作

    Java数据库篇2--数据库基本操作 1.启动.停止.服务 net start mysql net stop mysql 2.登入登出 本地 Mysql -u用户名 -p密码Mysql -u用户名 - ...

  9. Java数据库篇1——数据库配置

    Java数据库篇1--数据库配置 1.数据库 数据库(DataBase) 就是存储和管理数据的仓库 本质是一个文件系统, 还是以文件的方式,将数据保存在电脑上 2.数据库的优点 存储方式 优点 缺点 ...

最新文章

  1. “大型票务系统”和“实物电商系统”的数据库选型
  2. JS实现图片放大查看
  3. jenkins安装和使用
  4. 新国货美妆品牌数字营销能力升级“三步法”
  5. boost::multiprecision模块Eigen相关的测试程序
  6. iOS appstore各种图片的尺寸和需要注意的地方
  7. Country Road Aizu - 2104
  8. excel三次样条函数_Excel中F1到F12键的神奇用法
  9. 《我的WCF之旅》博文系列汇总
  10. java对列表数据排序_如何在Java中对列表进行排序
  11. dcs world f15c教学_苏教版译林牛津高中英语必修1-5选修6-11课文听力MP3音频字幕课件教案试题电子课本优质课教学视频...
  12. 建筑智能化资质办理条件
  13. 搜索不到网络计算机和设备,电脑搜不到无线网络原因分析和对应解决办法
  14. 进击的巨人 《兵王》6月28日启动新服【游戏资讯】
  15. windows上安装linux_Linux系统安装Windows软件? 通过这个工具可以做到
  16. libs--libnet
  17. 微软2013校园招聘笔试题
  18. 练习- Java顺序结构综合练习二之温度换算
  19. Python入门(二十七)——线程深入复习(.tart()、 .join()、.setDaemon(True))
  20. 1.5 极限运算法则

热门文章

  1. [转载] Java对返回值的封装
  2. java 使用接口便于维护程序_Java初学——面向对象接口的应用
  3. 华为鸿蒙系统正式登场,华为自研鸿蒙系统将于8月9日正式登场,还有全新的鸿鹄芯片...
  4. as真机调试_如何使用真机调试android程序
  5. python文本词频统计是什么_python 大批量文本分词 以及词频统计 (高效处理案例)...
  6. 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
  7. Java ObjectInputStream readShort()方法(带示例)
  8. 48张图|手摸手教你性能监控、压测和调优
  9. 面试官 | 什么是 Lambda?该如何使用?
  10. 【slowfast 减少ava数据集】将ava数据集缩小到2个,对数据集做训练,然后进行检测,为训练自己的数据集做准备