springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot中已经默认对jpa、jdbc、mybatis开启了事事务,引入它们依赖的时候,事物就默认开启。当然,如果你需要用其他的orm,比如beatlsql,就需要自己配置相关的事物管理器。

准备阶段

以上一篇文章的代码为例子,即springboot整合mybatis,上一篇文章是基于注解来实现mybatis的数据访问层,这篇文章基于xml的来实现,并开启声明式事务。

环境依赖

在pom文件中引入mybatis启动依赖:

org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.0

引入mysql 依赖

初始化数据库脚本

配置数据源

通过配置mybatis.mapper-locations来指明mapper的xml文件存放位置,我是放在resources/mybatis文件下的。mybatis.type-aliases-package来指明和数据库映射的实体的所在包。

经过以上步骤,springboot就可以通过mybatis访问数据库来。

创建实体类

数据访问dao 层

接口:

public interface AccountMapper2 { int update( @Param("money") double money, @Param("id") int id);}

mapper:

service层

@Transactional,声明事务,并设计一个转账方法,用户1减10块,用户2加10块。在用户1减10 ,之后,抛出异常,即用户2加10块钱不能执行,当加注解@Transactional之后,两个人的钱都没有增减。当不加@Transactional,用户1减了10,用户2没有增加,即没有操作用户2 的数据。可见@Transactional注解开启了事物。

结语

springboot 开启事物很简单,只需要加一行注解就可以了,前提你用的是jdbctemplate, jpa, mybatis,这种常见的orm。

mybatis plus 事务管理器_SpringBoot第七篇:springboot开启声明式事务相关推荐

  1. java B2B2C springmvc mybatis多租户电子商城系统 (七)springboot开启声明式事务

    springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...

  2. 企业 SpringBoot 教程 (七)springboot开启声明式事务

    springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...

  3. java版b2b2c社交电商spring cloud分布式微服务(七)springboot开启声明式事务

    java b2b2c 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经 ...

  4. springboot开启声明式事务

    springboot开启声明式事务 转载http://blog.csdn.net/forezp/article/details/70833629 springboot开启事务很简单,只需要一个注解@T ...

  5. SpringBoot第七篇:springboot开启声明式事务

    springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...

  6. springboot 事务_第六章:springboot开启声明式事务

    springboot中已经默认对jpa.jdbc.mybatis开启了事务,引入他们的依赖关系,事务就默认开启.所以springboot开启事务很简单,只需要一个注解@Transactional就可以 ...

  7. spring 注解开启声明式事务

    spring开启声明式事务: 导入依赖: pom.xml <dependencies><!-- https://mvnrepository.com/artifact/org.spri ...

  8. spring 的4种事务管理(1种编程式+3种声明式)

    见:http://blog.csdn.net/sinat_25926481/article/details/48208619 Spring的4种事务管理(1种编程式事务+三种声明事务) 一.Sprin ...

  9. springMVC开启声明式事务实现操作日志记录

    第一步.在applicationContext-mvc.xml开启AOP注解扫描 <aop:aspectj-autoproxy/> 第二步.创建增强类,实现日志记录 @Component ...

最新文章

  1. Typora链接跳转,页内和页外
  2. 网络爬虫Java还是Python还是c++?
  3. delphi ui编辑工具源码_一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
  4. 0/1背包问题-----动态规划求解
  5. 使用Webrtc和React Js在网络上共享跨平台的点对点文件
  6. SD从零开始01-02
  7. React Native中pointerEvent属性
  8. 【286页干货】一天搞懂深度学习(台湾资料科学年会课程)李宏毅
  9. 数据结构C++ 复旦大学
  10. LCD屏幕 ~ 字模提取工具和图片转码工具
  11. OBS Studio是一款非常专业的视频直播录制软件,完全免费
  12. Win7系统安装Pycharm专业版
  13. 阿里前端工程师面试题+解题思路
  14. h5 禁止微信内置浏览器调整字体大小方法
  15. maven安装测试报JAVA_HOME路径安装错误
  16. Android 输入法显示图标
  17. 常见的数据埋点方式介绍
  18. vue动态路由添加,vue-router的addRoute方法实现权限控制,添加根路由和子路由
  19. opencv去除印章痕迹
  20. 敢达java_Java-Junit 的Hello world

热门文章

  1. fastdfs集群搭建2
  2. git reflog and checkout
  3. 第六章 参数估计(续)
  4. [剑指offer]面试题第[52]题[Leedcode][第160题][JAVA][相交链表][双指针]
  5. python将excel日期比大小_sql与excel、python比较(二)——日期和时间函数
  6. php cli和fastcgi,php的几种运行模式CLI、CGI、FastCGI、mod_php
  7. python工作台_FreeCAD二次开发-创建Python工作台,添加菜单栏和工具条,FreeCAD命令
  8. 字节跳动专家会_字节跳动招聘直播策略运营专家/经理/海外财务AR BP,ACCA优先...
  9. mysql把游标数据存入表中_mysql数据库怎么使用游标
  10. gsoap的几个常用设置选项