文档章节

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

itcloud
 itcloud
发布于 2018/09/30 08:59
字数 462
阅读 1.3K
收藏 3

3 月,跳不动了?>>>

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

准备阶段

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

环境依赖

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

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
</dependency>

引入mysql 依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.29</version>
        </dependency>

初始化数据库脚本

-- create table `account`
# DROP TABLE `account` IF EXISTS
CREATE TABLE `account` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `money` double DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `account` VALUES ('1', 'aaa', '1000');
INSERT INTO `account` VALUES ('2', 'bbb', '1000');
INSERT INTO `account` VALUES ('3', 'ccc', '1000');

配置数据源

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath*:mybatis/*Mapper.xml
mybatis.type-aliases-package=com.forezp.entity

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

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

创建实体类

public class Account {
    private int id ;
    private String name ;
    private double money;
 
    getter..
    setter..
 
  }

完整的项目源码来源

© 著作权归作者所有

itcloud
粉丝 129
博文 233
码字总数 173318
作品 0
惠州
私信 提问
加载中

评论(2)

jason-he
jason-he
不错不错,写的比较简洁明了
马丁的早晨
马丁的早晨
beetlsql需要手动配事务?
企业级 SpringBoot 教程 (七)springboot开启声明式事务

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

itcloud
2019/03/11
224
1
SpringBoot 系列教程之编程式事务使用姿势介绍篇

SpringBoot 系列教程之编程式事务使用姿势介绍篇 前面介绍的几篇事务的博文,主要是利用注解的声明式使用姿势,其好处在于使用简单,侵入性低,可辨识性高(一看就知道使用了事务);然而缺点...

小灰灰Blog
02/05
54
0
Java B2B2C多用户商城 springcloud架构 (七)springboot开启声明式事务

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

sccspuercode
2019/03/14
103
1
SpringBootBucket 1.0.0 发布,SprintBoot 全家桶

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
9.4K
17
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
3.2K
4

没有更多内容

加载失败,请刷新页面

加载更多

HTML5的游戏开发案例

基础HTML5的游戏开发案例 开发工具:vscode 拼图游戏 雷电飞机游戏 flappy bird游戏 一、人物拼图游戏 游戏介绍: 拼图游戏将一幅图片分割成若干拼块并将它们随机打乱顺序。当将所有拼块都放...

梁梦婷
28分钟前
16
0
推荐 4 款 MySQL 调优工具,大牛都在用!

作者:老王谈运维 https://www.toutiao.com/a6691523026984370699/ 对于正在运行的mysql性能如何?参数设置的是否合理?账号设置的是否存在安全隐患是否了然于胸? 俗话说工欲善其事,必先利...

Java技术栈
28分钟前
23
0
selenium 安装、使用简记

1、pip 安装 2、import 导入 关键点开始 【3、下载对应浏览器驱动】 火狐浏览器驱动,其下载地址是:https://github.com/mozilla/geckodriver/releases 谷歌浏览器驱动,其下载地址是:http:...

acclea
28分钟前
26
0
springboot自动装配原理

springboot自动装配原理 SpringBootApplication注解 @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoCo......

yl000github
33分钟前
30
0
面试刷题24:介绍一枚 JAVA妹妹?

java提供的自动垃圾收集机制大大提高了程序员的开发效率。 但是自动垃圾收集不是万能的,明确jvm的内存结构,工作机制是设计高扩展应用的基础。 也是诊断jvm运行时问题的必备技能。 我是李福...

李福春carter
34分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部