-
如果不考虑事务的隔离性,会引发安全问题: 脏读 - 一个事务读取了另一个事务改写但还没提交的数据,如果这些数据被回滚,则读到的数据是无效的。 不可重复读 - 在同一事务中,多次读取同一数据返回的结果有所不同。 幻读 - 一个事务读取了几行记录后,另一个 事务插入一些记录,幻读就发生了。在后来的查询中,第一个事务就会发现有些原来没有的记录。 事务隔离级别4个: DEFAULT - 使用后端数据库默认的隔离级别(spring中选项) READ_UNCOMMITED - 允许读取还没提交的改变了的数据。可能导致脏、幻、不可重复读 READ_COMMITTED - 允许在并发事务已经提交后读取。可防止脏读,但幻、不可重复读仍可发生 REPEATABLE_READ - 对相同字段的多次读取是一致的,除非数据被事务本身改变。可防止脏、不可重复读,但幻读仍可能发生。 SERIALLIZABLE - 完全服从 ACID 的隔离级别,确保不发生脏、幻、不可重复读。这在所有隔离级别中是最慢的,它是典型的通过完全锁定在事务中涉及的数据表来完成的。 spring提供一个默认的级别(DEFAULT),使用的是底层数据库的默认的事务级别。 MySQL默认采用 REPEATABLE_READ 隔离级别 oracle默认采用 READ_COMMITTED 隔离级别查看全部
-
PlatformTransactionManager平台事务管理: spring为不同的持久层框架提供不同的PlatformTransactionManager接口实现。、 比如: 使用Spring jdbc或ibatis进行持久化数据时,使用org.springframework.jdbc.darasource.DataSourceTransactionManager就可以了。 如果使用hibernate3.0版本进行持久化 数据,可使用org.springframework.orm.hibernateTransactionManager. -----一般使用以上两个,具体看情况----- JAP - JpaTransactionManager Jdo - JdoTransactionManager JTA - JtaTransactionManager 用到什么,就使用相对应平台的事务管理就行了。查看全部
-
spring事务管理高层抽象3个接口: PlatformTransactionManager - 事务管理器 TransactionDefinition - 事务定义信息(隔离、传播、超时、只读) TransactionStatus - 事务具体运行状态查看全部
-
老师在哪里可以下载视频和代码查看全部
-
事务的特性: 原子性 -> 指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性 -> 指事务前后的数据的完整性必须保持一致。 隔离性 -> 指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要互相隔离。 持久性 -> 指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,即使数据库发生故障也不应该对其有任何影响。查看全部
-
事务: 事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。 比如:张三给李四转钱,有可能途中断电,如果没有事务管理 ,那么有可能张三的钱没了,而李四也没收到。如果通过事务管理,要么一起成功,要么一起失败。查看全部
-
谁能不能发我一下源代码 老师查看全部
-
谁知道为什么没有配注解驱动 测试类中也可以用注解 ?还有就是注解的方式能不能直接针对方法 ?谢谢。谁帮忙解决下查看全部
-
junit查看全部
-
笔记带截图不公开查看全部
-
事务管理的接口查看全部
-
事务的四个特性查看全部
-
该图很重要!!!!查看全部
-
Spring为不同的持久层框架提供不同的PlatformTransactionManager(接口)的实现。查看全部
-
Spring事务管理的三个接口查看全部
举报
0/150
提交
取消