SSM 框架学习 (Mybatis&Spring篇)
前面已经完成了Mybatis和Spring框架的学习与整合,但并没配置有事务管理器。
配置这东西前我们首先得知道这是个什么东西,有什么用?
事务管理器就是用于管理对数据库的一系列读写操作,进行统一提交或回滚,这样能有效的防止数据库出现问题,如:脏读,幻读等。关于幻读、脏读可以看看这篇文章,推荐了解【事务属性之隔离级别】
配置前还需要先了解事务属性,有五个:事务传播机制、事务隔离等级、事务超时时间、是否只读、回滚规则
#####事务传播机制
属性值 | 说明 |
---|---|
REQUIRED(默认值) | 指定的方法必须在事务内执行。若当前存在事务,就加入到当前事务中;若当前没有事务,则创建一个新事务。REQUIRED能够满足大多数事务需求,可做首选。 |
SUPPORTS | 指定的方法支持当前事务,但若当前没有事务,也可以以非事务方式执行。 |
NOT_SUPPORTED | 指定的方法不能在事务环境中执行,若当前存在事务,就将当前事务挂起。 |
REQUIRES_NEW | 总是新建一个事务,若当前存在事务,就将当前事务挂起,直到新事务执行完毕。 |
MANDATORY | 指定的方法必须在当前事务内执行,若当前没有事务,则直接抛出异常。 |
NESTED | 指定的方法必须在事务内执行。若当前存在事务,则在嵌套事务内执行;若当前没有事务,则创建一个新事务。 |
NEVER | 指定的方法不能在事务环境下执行,若当前存在事务,就直接抛出异常。 |
#####事务