(20200811将这些天复习的内容放到博客备份)
spring事务
(1) 编程式事务管理:侵入式事务管理,直接使用TransactionTemplate进行管理
(2) 声明式事务管理:非侵入式事务管理,只需在配置文件中做相关文件声明或者使用注解;缺点:声明式事务管理管理的粒度是方法级别,而编程式事务管理是可以到代码块的
(1) PROPAGATION_REQUIRED:spring的默认传播机制,如果外层有事务,则和外层的事务一起提交和回滚,如果外层没有事务,则创建一个事务执行。
(2) PROPAGATION_REQUES_NEW:外层有事物,挂起外层事务,待当前事务执行完再恢复外层事务;外层没有事务,创建一个事务执行
(3) PROPAGATION_SUPPOT:外层有事物,就加入外层事务执行,外层没有事务就按非事务方式执行
(4) PROPAGATION_NOT_SUPPOT:外层有事务,就挂起外层事务,待当前代码执行完,再恢复外层事务;外层没有事物,就按非事务方式执行
(5) PROPAGATION_NEVER:外层有事物,就抛出异常
(6) PROPAGATION_MANDATORY:外层没有事务,就抛出异常
(7) PROPAGATION_NESTED:外层有事物就嵌套进外层事务;外层没有事务就创建一个事务执行(类似PROPAGATION_REQUIRED )。特点是有状态保存点,就是当前事务回滚到某个点,从而避免所有嵌套事务都回退,各自回退各自的
(1) ISOLATION_DEFAULT(默认):后端数据库默认端隔离级别
(2) ISOLATION_READ_UNCOMMITED(未提交读):允许读未提交的数据,存在的问题:脏读,不可重复度,幻象读
(3) ISOLATION_REAF_COMMITIED(已提交读,Oracle默认隔离级别):允许读取已提交的数据;已解决的问题:脏读,未解决的问题:不可重复读,幻想读
(4) ISOLATION_REPEATABLE_READ(可重复读,MySQL默认隔离级别):对相同字段多次读取时一致的;已解决的问题:脏读,不可重复读,未解决的问题:幻象读
(5) ISOLATON_SERIALIZABLE(可序列化):完全服从ACID的隔离级别,确保不发生脏读,不可重复的,幻象读
原文:https://www.cnblogs.com/yu-xia-zheng-ye/p/13479846.html