四个方面:事务的性质,事物的隔离级别,hibernate配置事务的隔离级别,使用事务小案例

1. 事务的性质:

四种性质:原子性,一致性,隔离性,持久性。

原子性:原子,不可再分。一个操作不能分为更小的操作。要不全部执行,要不全不执行。

一致性:事务在完成时,必须使得所有的数据保持一致的状态。(ps:数据状态重点,与开始事务前一样的状态)

隔离性(并发才考虑):事务查看数据时数据所处在的状态,要么是另一个并发事务修改它之前的状态,要么是另一个并发事务修改它之后的状态,事务不会查看中间状态的数据

持久性:事务操作完成之后,它对于系统的影响是永久性的(执行了就执行了,没有撤回)(破坏数据也会执行)

2. 事物的隔离级别:

隔离级别分为三种:脏读,不可重复读,幻读。

脏读:读取了未提交事务中的数据

不可重复读:对于数据库中某个数据一个事务范围内多次读取同一数据(并发情况下,两次分别读取并发事务前与后的值)却有不同的值。

幻读:事务发生中期被另一个事务夺去cpu资源,改变了数据。

3. hibernate配置事务的隔离级别

四种属性

1(0001).读未提交:最低的隔离界别,最没用,最快。

2(0010).读已提交:可避免脏读,不可避免不可重复读。

4(0100).可重复读:可以避免不可重复读,可以避免脏读(mysql默认)。

8(1000).串行化:最强大,三种都可以避免(速度最慢)

hibernate主配置文件hibernate.cfg.xml配置

<property name="hinernate.connection.isolation">4</property>

配置事务(session与当前线程绑定)---自动帮你创建一个session对象(在Service中可以开启事务。)整个线程用同一个session

<property name = "hinernate.connection.isolation">

4. 使用事务小案例

点击按钮,根据id查找user--->找到user的名字改变,找不到则不做任何改变退出。

最新文章

  1. Failed opening .rdb for saving: Permission denied
  2. Understand
  3. HttpWebResponse取不到Cookie?原来是因为被跳转了
  4. python学习笔记29(python中堆的使用)
  5. 【转】Android开发中的SQLite事务处理,即beginTransaction()方法
  6. Android Studio常用插件
  7. Crisis of HDU(母函数)
  8. Windows调试工具入门—1
  9. Html emed 和 object
  10. 交叉编译 tesseract
  11. angularjs 指令详解
  12. jquery监听video标签视频播放暂停状态
  13. 跨站点请求伪造(CSRF)学习
  14. 线程之Callable、Future 和FutureTask使用及源码分析
  15. Lombok使用简介
  16. hadoop 2.5 安装部署
  17. 【九天教您南方cass 9.1】 11 方格网土方计算
  18. # 20165225 《Java程序设计》第一周学习总结
  19. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量
  20. 一些常用的mysql语句实例-以后照写2

热门文章

  1. 浅谈background-size的几个属性值
  2. [题解]N 皇后问题总结
  3. tomcat 进程莫名停止
  4. php函数 array_count_values
  5. codeforces 792A-D
  6. .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑
  7. C#中字符串转日期类型
  8. 按PEP8风格自动排版Python代码
  9. python调用openstack的api,create_instance的程序解析
  10. Bootstrap 模态框(Modal)插件id冲突