@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class,readOnly=false)
public void update(){
//执行删除 --1
//执行更新 --2
}
第一种情况:插入和删除都抛出Exception 测试成功,回滚
第二种情况,其中一个抛出Exception 测试成功,回滚
@Transactional
public class Test{
}
如果把事务加在类上边,其中一个失败,就会回滚!
这个类上加注解,但不指定类型,他默认的类型是RuntimeException(例如数组越界,类型转换等),如果指定类型rollbackFor=Exception.class,则范围更大!
也就是说,如果这样使用事务,那只要这个异常是继承于RunTime就ok'
查询要不要事务!这里分两种情况
第一:如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;
第二:如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用事务支持。
剑哥的问题真好!!!v5
分享到:
相关推荐
在 Java 代码中,我们可以使用 `@Transactional` 注解来标注需要事务处理的方法或类,例如: ```java @Service @Transactional(propagation = Propagation.REQUIRED) public class TeacherServicesImpl implements ...
`@Transactional` 注解可以方便地声明事务边界,而`@Repository` 注解配合Spring的数据访问异常转换机制,使得数据库操作的错误处理更加优雅。 Spring 3.0 还强化了消息支持,增加了对JMS(Java Message Service)...
浅谈Spring中@Transactional事务回滚及示例 @Transactional是Spring Framework中的一种事务管理机制,用于管理数据库事务。它可以使得数据库操作更加安全和可靠。本文将详细介绍@Transactional的使用场景、checked...
Spring 3.0的AOP模块提供了声明式事务管理,允许开发者通过注解如@Transactional实现事务控制,简化了事务管理的代码。同时,增强了对AspectJ的支持,使得切面的定义更为灵活。 三、数据访问/集成(Data Access/...
5. **事务管理**:Spring的事务管理器可以处理本地和分布式事务,支持编程式和声明式事务管理。声明式事务管理通过@Transactional注解实现,大大减少了事务管理的代码量。 6. **消息支持**:Spring 3.0提供了消息...
此外,还支持了基于注解的事务管理,通过`@Transactional`注解可以在方法级别声明事务边界,降低了事务管理的复杂性。 在数据访问层面,Spring 3.0对JDBC、Hibernate、JPA等持久化技术的集成进行了优化。例如,`...
3. **事务管理**:通过`@Transactional`注解实现事务控制,Spring会自动处理事务的开启、提交、回滚等操作。 4. **MVC框架**:Spring MVC提供了一整套构建Web应用的解决方案,包括控制器、视图解析、模型绑定等功能...
Spring 3.0的AOP模块提供了面向切面编程的能力,用于处理系统级关注点,如日志、事务管理等。`@Aspect`注解定义切面,`@Before`、`@After`、`@Around`和`@AfterThrowing`等注解定义切面的切入点和通知。Spring AOP...
总结,Spring3.0与myBatis3.0的整合,既发挥了Spring的高级特性,也利用了myBatis的灵活性,使得在处理数据访问时,既可以保持代码的简洁,又能保证系统的高效运行。对于Java开发者来说,掌握这种整合方式,无疑能...
5. **事务管理**: 利用Spring的@Transactional注解进行事务控制。 通过这样的整合,开发者可以利用Spring MVC处理HTTP请求,通过MyBatis执行数据库操作,Spring则负责整个系统的管理和协调。这种架构模式既能充分...
3. **注解驱动的事务管理**:通过`@Transactional`注解,可以在方法级别声明事务,简化事务管理。 4. **基于表达式的SpEL(Spring Expression Language)**:提供了强大的表达式语言,用于在运行时查询和操作对象图...
4. **数据访问集成**:Spring3.0对JDBC、ORM(Object Relational Mapping)框架如Hibernate、JPA等的支持更加完善,引入了声明式事务管理,通过@Transactional注解可以轻松实现事务控制。 5. **批处理**:Spring ...
2. **声明式事务管理**:Spring AOP可以用来实现声明式事务管理,开发者只需在方法上添加`@Transactional`注解,Spring就会自动管理事务的开始、提交、回滚。这种方式简化了事务管理,使得代码更加整洁。 在实际...
标题 "spring3.0 + ibatis+jquery+注解建立dao、service类" 提供了我们讨论的核心技术栈,这是构建一个基于Java的Web应用程序的常见组合。Spring框架是核心,用于依赖注入(DI)和面向切面编程(AOP),iBatis则作为...
2. **注解驱动开发(Annotation-based Development)**:Spring 3.0引入了大量的注解,如@Service、@Controller、@Repository和@Transactional,减少了XML配置,提高了代码可读性。例如,@Autowired用于自动装配依赖,...
5. **事务管理**:`@Transactional`注解用于标记一个方法或类为事务边界,Spring会自动管理事务的开始、提交和回滚。配合`propagation`和`isolation`属性,可以控制事务的传播行为和隔离级别。 6. **JSR-303/JSR-...
如果我们在 `@Transactional` 注解中指定了未定义过的事务管理器,Spring 会使用缺省的事务管理器来处理。 Spring 的 Annotation-Driven 配置事务管理器可以方便地管理多个数据源的事务,并且可以通过 `@...
2. **注解驱动开发(Annotation-based Development)**:在Spring 3.0中,注解成为主流的编程模式,如@Controller、@Service、@Repository和@Transactional等,减少了XML配置,提高了代码的可读性和可维护性。...
9. **国际化(I18N)**:Spring 3.0支持基于资源文件的国际化,可以使用`MessageSource`接口和`@MessageSource`注解来处理多语言消息。 10. **Spring Batch**:Spring 3.0集成批量处理功能,提供了一套完整的解决方案...
总结来说,Struts2、Spring3.0和Hibernate3.3的全注解配置简化了代码,提高了可读性和可维护性。通过注解,我们可以快速地定义bean、映射请求、管理事务和数据库关系。这个数据库示例表明了这些技术在实际项目中的...