求助spring和mybatis-mybatis异常

可以共享一份给小弟吗?感激不尽...

我搜索官网,然而找不到我想要下的版本啊...

}

本文主要讲述spring和mybatisboot提供的声明式的倳务管理机制

声明式的事务管理是基于AOP的,在spring和mybatisboot中可以通过@Transactional注解的方式获得支持这种方式的优点是:

1)非侵入式,业务逻辑不受事务管理代码的污染

2)方法级别的事务回滚,合理划分方法的粒度可以做到符合各种业务场景的事务管理

本文使用目前最常用的mybatis框架来配置spring和mybatisboot的事务管理机制。下面进入配置方法介绍

3)mysql数据库驱动包

这个配置主要是实现配置mybatis数据源,这超出了本文的叙述范围大家可以参照这篇博客。

之后你可以根据添加的数据源写好mapper也就是dao层代码。

DAO层代码是使用XML配置方式还是使用注解实现方式,对事务管理都是没有影响的

在设计service层的时候,应该合理的抽象出方法包含的内容

然后将方法用@Trasactional注解注释,默认的话在抛出Exception.class异常的时候就会触发方法中所囿数据库操作回滚,当然这指的是增、删、改

当然,@Transational方法是可以带参数的具体的参数解释如下:

可选的限定描述符,指定使用的事务管理器
可选的事务传播行为设置
可选的事务隔离级别设置
读写或只读事务默认读写
导致事务回滚的异常类数组
类名数组,必须继承自Throwable 导致事务回滚的异常类名字数组
不会导致事务回滚的异常类数组
类名数组必须继承自Throwable 不会导致事务回滚的异常类名字数组

可以做一个简单嘚测试,主动抛出异常测试一下是否真的能保证事务性。

在执行完插入之后手动抛出一个空指针异常,可以发现数据真的回滚了

}

我要回帖

更多关于 spring和mybatis 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信