mybatis plus 事务管理器_SpringBoot第七篇:springboot开启声明式事务
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开启声明式事务相关推荐
- java B2B2C springmvc mybatis多租户电子商城系统 (七)springboot开启声明式事务
springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...
- 企业 SpringBoot 教程 (七)springboot开启声明式事务
springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...
- java版b2b2c社交电商spring cloud分布式微服务(七)springboot开启声明式事务
java b2b2c 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经 ...
- springboot开启声明式事务
springboot开启声明式事务 转载http://blog.csdn.net/forezp/article/details/70833629 springboot开启事务很简单,只需要一个注解@T ...
- SpringBoot第七篇:springboot开启声明式事务
springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...
- springboot 事务_第六章:springboot开启声明式事务
springboot中已经默认对jpa.jdbc.mybatis开启了事务,引入他们的依赖关系,事务就默认开启.所以springboot开启事务很简单,只需要一个注解@Transactional就可以 ...
- spring 注解开启声明式事务
spring开启声明式事务: 导入依赖: pom.xml <dependencies><!-- https://mvnrepository.com/artifact/org.spri ...
- spring 的4种事务管理(1种编程式+3种声明式)
见:http://blog.csdn.net/sinat_25926481/article/details/48208619 Spring的4种事务管理(1种编程式事务+三种声明事务) 一.Sprin ...
- springMVC开启声明式事务实现操作日志记录
第一步.在applicationContext-mvc.xml开启AOP注解扫描 <aop:aspectj-autoproxy/> 第二步.创建增强类,实现日志记录 @Component ...
最新文章
- Typora链接跳转,页内和页外
- 网络爬虫Java还是Python还是c++?
- delphi ui编辑工具源码_一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
- 0/1背包问题-----动态规划求解
- 使用Webrtc和React Js在网络上共享跨平台的点对点文件
- SD从零开始01-02
- React Native中pointerEvent属性
- 【286页干货】一天搞懂深度学习(台湾资料科学年会课程)李宏毅
- 数据结构C++ 复旦大学
- LCD屏幕 ~ 字模提取工具和图片转码工具
- OBS Studio是一款非常专业的视频直播录制软件,完全免费
- Win7系统安装Pycharm专业版
- 阿里前端工程师面试题+解题思路
- h5 禁止微信内置浏览器调整字体大小方法
- maven安装测试报JAVA_HOME路径安装错误
- Android 输入法显示图标
- 常见的数据埋点方式介绍
- vue动态路由添加,vue-router的addRoute方法实现权限控制,添加根路由和子路由
- opencv去除印章痕迹
- 敢达java_Java-Junit 的Hello world
热门文章
- fastdfs集群搭建2
- git reflog and checkout
- 第六章 参数估计(续)
- [剑指offer]面试题第[52]题[Leedcode][第160题][JAVA][相交链表][双指针]
- python将excel日期比大小_sql与excel、python比较(二)——日期和时间函数
- php cli和fastcgi,php的几种运行模式CLI、CGI、FastCGI、mod_php
- python工作台_FreeCAD二次开发-创建Python工作台,添加菜单栏和工具条,FreeCAD命令
- 字节跳动专家会_字节跳动招聘直播策略运营专家/经理/海外财务AR BP,ACCA优先...
- mysql把游标数据存入表中_mysql数据库怎么使用游标
- gsoap的几个常用设置选项