企业级 SpringBoot 教程 springboot开启声明式事务

Posted leafitit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级 SpringBoot 教程 springboot开启声明式事务相关的知识,希望对你有一定的参考价值。

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..
 
  }

资料和源码来源地址

以上是关于企业级 SpringBoot 教程 springboot开启声明式事务的主要内容,如果未能解决你的问题,请参考以下文章

企业级 SpringBoot 教程 springboot整合mongodb

企业级 SpringBoot 教程 (十三)springboot集成spring cache

企业级 SpringBoot 教程 (十三)springboot集成spring cache

企业级 SpringBoot 教程 (十五)Springboot整合RabbitMQ

springboot2 后台管理系统 springbootplus

企业级 SpringBoot 教程 springboot整合 beatlsql