为了账号安全,请及时绑定邮箱和手机立即绑定
  • 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(可能出现不可重复读和幻读)
    查看全部
  • 谁能不能发我一下源代码 老师
    查看全部
    6 采集 收起 来源:课程总结

    2015-09-03

  • 事务的传播行为:主要是解决业务层方法之间的相互调用的问题 事务的传播行为有七种,又分为三类: 第一类共同点:如果 A 方法中有事务,则调用 B 方法时就用该事务,即:A和B方法在同一个事务中。 PROPAGATION_REQUIRED:如果 A 方法中没有事务,则调用 B 方法时就创建一个新的事务。 PROPAGATION_SUPPORTS:如果 A 方法中没有事务,则调用 B 方法时就不使用该事务。 PROPAGATION_MANDATORY:如果 A 方法中没有事务,则调用 B 方法时就抛出异常。 第二类共同点:A方法和B方法没有在同一个事务里面。 PROPAGATION_REQUIRES_NEW:如果 A 方法中有事务,则挂起并新建一个事务给 B 方法。 PROPAGATION_NOT_SUPPORTED:如果 A 方法中有事务,则挂起。 PROPAGATION_NEVER:如果 A 方法中有事务,则报异常。 第三类:如果 A 方法有的事务执行完,设置一个保存点,如果 B 方法中事务执行失败,可以滚回保存点或初始状态。 PROPAGATION_NESTED :如果当前事务存在,则嵌套事务执行。
    查看全部
  • 事务的四大特性: 原子性:一个事务或者完全发生、或者完全不发生。 一致性、事务操作之后,数据库所处的状态和有业务规则是一致的。 隔离性:操作中的事务不互相影响。 持久性:操作中放入事务提交后被持久化到数据库。
    查看全部
    4 采集 收起 来源:事务回顾

    2015-09-21

  • 大小写简直是我一生的敌人,classpath 的p要小写 com.mysql.jdbc.Driver D一定要大写driverClass C一定要大写, jdbcUrl也不能写错,尼玛呀,找了一辈子
    查看全部
  • Spring测试: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:xxx.xml") @Resource(name="") Spring事务:逻辑上的一组操作,要么全部成功,要么全部失败 Spring事务管理的一组API Spring的编程式事务管理(事务管理模板) 1.在实际运用中很少使用 2.通过TrasactionTemplate手动管理事务 1.在AccountService中使用TransactionTemplate 2.TransactionTemplate依赖DataSourceTransactionManager 3.DataSourceTransactionManager依赖DataSource构造 (事务管理器有了连接池才能获得链接进行事务管理) Spring的声明式事务管理(重点) 1.开发中推荐使用(代码入侵性最小) 2.Spring的声明式事务是(通过AOP实现的) 第一种:基于代理TransactionProxyFactoryBean; 注入:目标,事务管理器,事务属性: 1.PROPAGATION :事务的传播行为 2.ISOLATION :事务的隔离级别 3.readOnly :只读,(不可以进行修改,插入,删除) 4.-Exception :发生那些异常回滚事务 5.+Exception :发生那些异常事务不回滚 第二种:基于AspectJ的XML方式(aspectJ的话,就是分的更加的详细,切入点(类),切入面(方法)) 1.配置事务的通知<tx> 2.配置切面,切点<aop> 第三种:基于注解的方式 1.开启事务<tx:annotation-driven transaction-Manager="" /> 2.service类@Transactional(name=value)
    查看全部
    3 采集 收起 来源:课程总结

    2018-03-22

  • oracle数据库采用的事务级别为:READ COMMITTED mysql数据库采用的事务级别为:REPEATABLE READ spring事务默认是数据库的级别
    查看全部
  • 基于声明式的方式2 使用aspectj的xml配置方式 在xml文件中配置事务管理器,注入连接池 配置事务的通知,属性设置应用的方法和传播行为等 配置切面,在切面中,配置切入点,和advisor把切入点和通知联系在一起 <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置事务的通知 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="transfer" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 配置切面 --> <aop:config> <!-- 配置切入点 --> <aop:pointcut expression="execution(* com.demo3.AccountService.*(..))" id="pointcut1"/> <!-- 配置切面 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/> </aop:config>
    查看全部
  • 事务的传播行为:主要是解决业务层方法之间的相互调用的问题 事务的传播行为有七种,又分为三类: 第一类共同点:如果 A 方法中有事务,则调用 B 方法时就用该事务,即:A和B方法在同一个事务中。 PROPAGATION_REQUIRED:如果 A 方法中没有事务,则调用 B 方法时就创建一个新的事务,即:A和B方法在同一个事务中。 PROPAGATION_SUPPORTS:如果 A 方法中没有事务,则调用 B 方法时就不使用该事务。 PROPAGATION_MANDATORY:如果 A 方法中没有事务,则调用 B 方法时就抛出异常。 第二类共同点:A方法和B方法没有在同一个事务里面。 PROPAGATION_REQUIRES_NEW:如果 A 方法中有事务,则挂起并新建一个事务给 B 方法。 PROPAGATION_NOT_SUPPORTED:如果 A 方法中有事务,则挂起。 PROPAGATION_NEVER:如果 A 方法中有事务,则报异常。 第三类:如果 A 方法有的事务执行完,设置一个保存点,如果 B 方法中事务执行失败,可以滚回保存点或初始状态。
    查看全部
  • TransactionStatus接口用来记录事务的状态 该接口定义了一组方法,用来获取或判断事务的相应状态信息. 平台事务管理器(PlatformTransactionManager)会根据TransactionDefinition中定义的事务信息(包括隔离级别、传播行为)来进行事务的管理,在管理的过程中事务可能产生了保存点或事务是新的事务等情况,那么这些信息都会记录在TransactionStatus的对象中.
    查看全部
  • 事务的特性 事务的 ACID 事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。 1 、原子性 事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做。 2 、一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。 3 、隔离性 一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 4 、持续性 也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。
    查看全部
    3 采集 收起 来源:事务回顾

    2017-05-25

  • 总结: Spring将事务管理分成了两类: * 编程式事务管理 - 手动编写代码进行事务管理(很少使用) * 声明式事务管理 - 基于TransactionProxyFactoryBean的方式(很少使用) . 需要为每个进行事务管理的类,配置一个TransactionProxyFactoryBean进行增强 - 基于AspectJ的xml方式(经常使用) . 一旦配置好,类上不需要添加任何东西 - 基于注解(经常使用) . 配置简单,需要在业务层类上添加一个@Transactionl的注解
    查看全部
    3 采集 收起 来源:课程总结

    2017-02-03

  • @补充: 第一类共同点:如果 A 方法中有事务,则调用 B 方法时就用该事务,即:A和B方法在同一个事务中。 PROPAGATION_REQUIRED:如果 A 方法中没有事务,则调用 B 方法时就创建一个新的事务,即:A和B方法在同一个事务中。 PROPAGATION_SUPPORTS:如果 A 方法中没有事务,则调用 B 方法时就不使用该事务。 PROPAGATION_MANDATORY:如果 A 方法中没有事务,则调用 B 方法时就抛出异常。 第二类共同点:A方法和B方法没有在同一个事务里面。 PROPAGATION_REQUIRES_NEW:如果 A 方法中有事务,则挂起并新建一个事务给 B 方法。 PROPAGATION_NOT_SUPPORTED:如果 A 方法中有事务,则挂起。 PROPAGATION_NEVER:如果 A 方法中有事务,则报异常。 第三类:如果 A 方法有的事务执行完,设置一个保存点,如果 B 方法中事务执行失败,可以滚回保存点或初始状态。 @重点的三种:PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_NESTED。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 什么是事务?<br> 事务指逻辑上的一组操作,这组操作要么全部成功,要么全部失败.<br> 事物的特性:<br> 1.原子性Atomic:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生.<br> 2.一致性Consistent:事务处理前后数据的完整性必须保持一致.<br> 3.隔离性Isolated:多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离.<br> 4.持久性Durable:一个事务一旦被提交,它对数据库中数据的改变就是永久性的,即使数据库发生故障也不应该对其有任何影响.
    查看全部
    2 采集 收起 来源:事务回顾

    2018-03-22

  • 事务特性:原子性、一致性、隔离型、持久性
    查看全部
    2 采集 收起 来源:事务回顾

    2015-10-28

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本课程前需要熟悉Spring的基础知识,掌握IOC和AOP的基本概念。小伙伴们可参考《Spring入门》课程
老师告诉你能学到什么?
1、理解Spring事务管理的基本概念 2、掌握Spring事务管理的应用场景 3、掌握声明式事务管理和编程式事务管理的实现方式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!