案例描述  通过完成生成订单业务,掌握事务处理.  需要d_order表和d_item表  订单生成时的业务逻辑:向d_order插入1条数据的同时,向t_item中插入若干条数据  这就是一个独立的事务,  我们乊前做的是单表操作,使用默认事务即可,但是涉及到稍复杂的多表操作时,我们就需要  做事务处理.  如果我们按乊前的方式,在Action中调用DAO,是没有办法将两个DAO操作封装为一个 事务的.  为此,我们需要再分层,提出Service,在service中迚行事务控制. 参考代码 2…
1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integer id,Double money); } AccountDaoImpl.java package cn.mf.dao; import org.springframework.jdbc.core.s…
1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integer id,Double money); } AccountDaoImpl.java package cn.mf.dao; import org.springframework.jdbc.core.s…
概念 1.事务 1)事务特性:ACID 原子性 :强调事务的不可分割. 一致性 :事务的执行的前后数据的完整性保持一致. 隔离性 :一个事务执行的过程中,不应该受到其他事务的干扰. 持久性 :事务一旦结束,数据就持久到数据库. 2)事务并发问题 脏读 :一个事务读到了另一个事务的未提交的数据. 不可重复读 :一个事务读到了另一个事务已经提交的 update 的数据导致多次查询结果不一致. 虚幻读 :一个事务读到了另一个事务已经提交的 insert 的数据导致多次查询结果不一致. 3)事务的隔离级…
Spring管理事务的方式 1.编码式 1.将核心事务管理器配置到Spring容器 2.配置TransactionTemplate模版 3.将事务模版注入service 4.在Service中调用模版 测试 执行了两次 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=…
ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. Hibernate缓存包括两大类:Hibernate一级缓存和L1Hibernate二级缓存 L2.…
java.lang.IllegalStateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here这个异常 这个错误,网上说的原因一大推,反正我这个出的问题 是因为 虽然我在 spring 里把事务都配置好了,结果运行就出现这个错误,看看配置都没什么问题,都是网上 案例 照 写编码的,还是错的,结果发现是因为 我…
一.默认方式 Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类),Error进行回滚. 如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚. 二.改变默认方式 在@Transaction注解中定义noRollbackFor和RollbackFor指定某种异常是否回滚. @Transaction(noRollbackFor=RuntimeException.class) @Transaction(R…
2.1 事务管理器 Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现. Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager,通过这个接口,Spring为各个平台如JDBC.Hibernate等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了.此接口的内容如下: Public int…
org.springframework.transaction.NoTransactionException: No transaction aspect-managed TransactionStatus in scope 使用spring事务注解的时候遇到过这个问题吗? 下面我们来看两种写法,第一种 @Transactional public UserEntity login1(UserEntity user) { userDao.update(6); if(userDao.update(6…