1. 程式人生 > >企業級 SpringBoot 教程 (七)springboot開啟聲明式事務

企業級 SpringBoot 教程 (七)springboot開啟聲明式事務

gin 存放位置 runtime jdbc vat 文件中 mysq soft cti

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開啟聲明式事務