-
第6章 声明式事务管理(001) 1. 配置文件查看全部
-
Spring 事务管理查看全部
-
TransactionStatus接口介绍 (001) TransactionStatus接口定义了获得和判断事物状态的方法查看全部
-
TransactionDefinition定义事务之事务的传播行为(002)<br> <br> 事务的传播行为有七种,这七种行为可以分为三类,图中前三个分为一类(让aaa()和bbb()操作在同一事务里),中间三个为一类(保证aaa()和bbb()操作在不同一事务里),最后为一类(aaa()执行完成后,设置一个保存点,如果bbb()发生异常,将回滚到保存点或初始状态)。<br> <br> 重点记住PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_NESTED查看全部
-
TransactionDefinition定义事务之事务的传播(001) 如图示例中所示,事务控制是在service层。假如有业务需要service1和service2中的方法一起使用才能完成,但service1中的方法已有单独的事务,service2中的方法也已有单独的事务,此时如何去处理这种情况呢?这就需要事务的传播行为了。 事务的传播行为就是为了解决业务层方法之间相互调用的问题。查看全部
-
四中事务实现查看全部
-
TransactionProxyFactoryBean 的事务配置.查看全部
-
Spring事务管理配置。两种经常使用的,一个是直接在XML中配置,不需要再类中配置,另一种就是在XMl配置简单,但是在类里面需要添加@Transactional查看全部
-
事务的定义查看全部
-
配置。。。查看全部
-
事务的传播行为查看全部
-
事务的隔离级别查看全部
-
spring 事务管理的三个方法类查看全部
-
Spring事务管理高层抽象主要包括3个接口 Platform TransactionManager 事务管理器 TransactionDefinition 事务定义信息 TransactionStatus查看全部
-
TransactionDefinition定义事务隔离级别(001) 如果不考虑隔离性,会引发如下的安全问题: 1.脏读。 一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。 2.不可重复读。 在同一个事务中,多次读取同一数据返回的结果有所不同。 3.幻读。 一个事务读取了几行记录后,另一个事务插入一些记录,幻读就发生了。再后来的查询中,第一个事务就会发现有些原来没有的记录。 隔离级别的出现就是为了解决以上问题的。 数据库提供的事务的隔离级别(四种): 1.READ_UNCOMMITED; 允许你读取还未提交的改变了的数据,可能导致脏,幻,不可重复读。 2.READ_COMMINTED: 允许在并发事务已经提交后读取,可防止脏读,但幻读和不可重复读还是有可能发生。 3.REPEATABLE_READ: 对相同字段的多次读取是一致的,除非数据被事务本身改变,可防止脏读,不可重复读,但幻读仍有可能出现。 4.SERILIZABLE: 完全服从ACID的隔离级别,确保不发生脏读,幻读,不可重复读,这在所有的隔离级别中是最慢的,它是典型的完全通过锁定在事务中涉及的数据表来完成的。 除了以上的数据库提供的事务隔离级别,spring提供了Default隔离级别,该级别表示spring使用后端数据库默认的隔离级别。 MySQL默认事务隔离级别:REPATABLE_READ(可能出现幻读) Oracle默认:READ_COMMITTED(可能出现不可重复读和幻读)查看全部
举报
0/150
提交
取消