SpringBoot整合Mybatis,并实现事务控制

1、 在pom文件里添加相关maven文件

2、 在application.properties配置文件中引入数据源,创建数据库表,并插入两条原始数据:andy 余额200元,lucy 余额300元

数据库初始值如下:

3、 开发实体类,dao,service,controller,mapper等

实体类 :

dao :

service :

service 实现类:

controller:

mapper:

4、 在application.properties配置文件中添加对mapper文件的扫描

5、 在启动类中添加对mapper包扫描@MapperScan

6、 浏览器测试http://localhost:8080/account/transfer, 测试显示 转账成功,看看数据库的数据,andy余额是150, lucy余额350,都是对的,如下图所示。

7,接着我们修改service,在实现类里,转出之后抛个异常,代码如下

8,把数据库的数据恢复成最初的 andy-200, lucy-300, 然后启动类测试,浏览器输入http://localhost:8080/account/transfer, 测试显示 转账失败,看看数据库的数据,andy余额是150, lucy余额300,如下图所示。

相当于转出成功,转入没有成功,这是不对的,应该都成功,或者都不成功。

9, 我们接着在service实现类上添加@Transactional 注解,声明一个事务,如下

10,再把数据库的数据恢复成最初的 andy-200, lucy-300, 然后启动类测试,浏览器输入http://localhost:8080/account/transfer, 测试显示 转账失败,看看数据库的数据,andy余额是200, lucy余额300,如下图所示。

说明转出和转入都没有成功,这才是合乎逻辑的。

springboot 开启事物很简单,只需要加注解@Transactional @EnableAutoConfiguration,声明事务就可以了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G02BVF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券