事务(Transaction):是数据库中的能够保证若干个写操作(增、删、改)要么全部成功,要么全部失败的机制。提示:关于Spring JDBC框架,只要项目中添加了基于Spring的数据库编程的依赖项,都包含Spring JDBC框架的依赖项,例如在mybatis-spring-boot-starter
中就包含了spring-jdbc
依赖项。
在基于Spring JDBC的项目中,只需要在业务方法上添加@Transactional
即可使得此业务方法是事务性的,即具有“要么全部成功,要么全部失败”的特性。
这是一种声明式声务(因为注解也是声明的一部分,只需要声明,即可实现事务管理)。
关于添加@Transactional
注解:
- 【推荐--学习阶段】添加在接口上
- 将作用于实现类中所有重写的方法
- 【推荐--开发实践中】添加在接口的业务方法上
- 将作用于实现类中重写的此方法
- 添加在业务实现类上
- 将作用于当前类中的所有业务方法
- 添加在业务实现类的业务方法上
- 将作用于当前业务方法
**注意:**基于Spring JDBC的事务管理,是基于接口实现的,所以,必须存在接口,且@Transactional
注解只对接口中声明的方法是有效的,对于实现类中自定义的方法是无效的!
事务管理的核心概