看这篇文章看的很爽http://www.iteye.com/topic/78674
就做了一个事务处理的测试程序。struts+spring+ibatis+mysql+tomcat5.5利用的是声明式的处理方式。把事务处理的逻辑放在了service层并在xml声明切面和切点。
service层代码如下
public class TrasacationTest {
CardLibDAO cardLibDAO;
public void setCardLibDAO(CardLibDAO cardLibDAO) {
this.cardLibDAO = cardLibDAO;
}
public void tt() throws Exception
{
this.cardLibDAO.insertCardLib(new CardLib());
this.ex();
}
public void ex() throws Exception
{
throw new RuntimeException("从Transaction抛出");
}
}
xml配置如下
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<aop:config>
<aop:advisor id="testadvisor" pointcut="execution(* com.xx.xx.service.*.tt*(..))" advice-ref="transactionadvice"/>
</aop:config>
<tx:advice id="transactionadvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="tt" rollback-for="java.lang.RuntimeException"/>
</tx:attributes>
</tx:advice>
当刚刚测试的时候插库动作总是能成功,并不回滚。经过查看代码和配置确定没有问题。突然想到mysql数据库默认情况下不支持事务,察看一下mysql配置,果真是默认的MyISAM.重新配置mysql支持事务。测试通过。
分享到:
相关推荐
以下是对`jdbc+spring+mysql事务理解和分析`的详细说明: 1. **原子性(Atomicity)**:这是事务的基本特性,表示事务中的所有操作要么全部成功,要么全部回滚。如果在事务执行过程中发生错误,数据库会撤销所有已...
在"Struts2+Spring+Ibatis+MySQL"的架构中,MySQL作为数据存储后端,与Ibatis配合,处理应用程序的数据交互。 5. **AOP日志管理与异常捕获**:在Spring框架中,可以利用AOP实现全局的日志管理和异常捕获。通过定义...
综上所述,这个考勤及薪酬管理系统利用了Java技术栈的强大功能,通过Spring MVC和Spring实现了灵活的业务处理和解耦,借助Hibernate简化了数据库操作,Bootstrap则提供了美观且响应式的用户界面,MySQL作为数据存储...
在本项目中,Spring作为业务层的核心,负责管理对象的生命周期和依赖关系,同时可以实现事务管理、数据访问抽象以及服务层的实现。 3. **Hibernate**:Hibernate是一个流行的Java ORM(对象关系映射)工具,它简化...
Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。 业务方案: 1、批处理定期提交。 2、并行批处理:并行处理工作。 3、...
在Spring+Mybatis的项目中,Mysql作为数据存储的载体,存储业务数据,通过Mybatis的SQL映射文件与Java对象进行交互。 4. **项目结构**:一个典型的Spring+Mybatis+Mysql项目通常会包含以下主要模块: - **src/main...
在企业级Java开发中,"Maven + Spring + MyBatis + MySQL + 事务管理"是一个常见的技术栈组合,它们各自扮演着不同的角色,构建出高效、稳定的后端系统。 **Maven** 是一个项目管理和综合工具,它帮助开发者管理...
在本项目中,MySQL 存储了Spring MVC 和Mybatis 所处理的数据,提供了数据的持久化存储。项目中可能包含了数据库表结构,用户可以直接导入到MySQL中使用,表之间可能存在主外键关系,用于保持数据的一致性和完整性。...
在这个项目中,Spring可能被用来管理Struts和Hibernate之间的依赖,以及处理事务控制,确保数据的一致性。 MySQL 是一种流行的开源关系型数据库管理系统,用于存储和检索应用程序的数据。在本例中,MySQL可能是应用...
在Spring+Hibernate的集成中,Spring可以作为Hibernate的事务管理器,处理事务的开始、提交、回滚等操作。通过SessionFactory和Session接口,Hibernate可以进行对象持久化,将Java对象转换为数据库中的记录。 **...
在本系统中,Spring被用来管理各种组件的生命周期,例如数据库连接、事务管理以及与Struts和Hibernate的集成。 Struts是MVC(Model-View-Controller)设计模式的一个实现,主要用于控制应用程序的流程。在简易教学...
MySQL支持SQL标准,可以创建表、执行查询、事务处理以及备份和恢复数据。 从"基本就不需要其他的jar包了"这句话我们可以推断,这个jar包集合可能包含了运行基于Spring、Hibernate和MySQL的Web应用程序所需的基本...
本项目“spring+jotm+ibatis+mysql实现JTA分布式事务”旨在利用这些技术来确保在分布式环境中的数据一致性。下面将详细介绍这个项目所涉及的知识点。 首先,Spring框架是Java开发中最常用的应用框架之一,它提供了...
在SSM框架中,MySQL通常作为后端数据存储,通过JDBC驱动与Spring和Mybatis交互,执行SQL语句,完成数据的增删改查操作。 综合使用这些技术,开发者可以快速搭建一个完整的Java Web应用,实现业务逻辑、数据访问和...
7. **异常处理**:由于是分布式环境,可能会遇到网络延迟、节点故障等问题,因此需要在应用中添加适当的异常处理逻辑,比如重试机制、错误通知等。 8. **监控和调优**:集成后,定期监控集群性能,如查询速度、CPU...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合通常被称为SSH整合,是构建企业级应用的一种常用技术栈。本项目是基于Eclipse集成开发环境,结合MySQL数据库实现的一个基础的增删改查功能。接...
Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。EhCache的加入提升了系统的性能,降低了数据库的压力。理解并掌握这些技术,对于开发高效、稳定的Web应用具有重要意义。
在本项目中,我们利用了Java技术栈中的四个核心组件:Spring MVC、Spring、Hibernate以及Bootstrap,构建了一个全面的图书管理系统。这个系统旨在提供高效、用户友好的图书管理功能,涵盖了从图书入库、检索到借阅、...
在这个项目中,Spring可能被用来管理bean的生命周期,处理事务,以及提供与Struts和MySQL数据库的集成。 Struts是Apache软件基金会的一个开源MVC(Model-View-Controller)框架,主要用于构建Java Web应用程序。它...
总结来说,这个案例将展示如何在Spring中配置Mybatis和MySQL,以便在处理数据库操作时使用Spring的声明式事务管理。Maven将用于构建和管理整个项目,包括依赖的解决和项目的打包。通过学习这个案例,开发者可以深入...