spring boot事务使用

4 篇文章 0 订阅
4 篇文章 0 订阅

spring boot 集成MyBatis 事务的使用

关于spring的事务说明查看 另一篇

spring的事务管理说明(记录) 也可查看 原文

spring boot整合MyBatis 推荐: 使用Idea搭建spring boot整合MyBatis
本篇主要介绍spring boot 集成MyBatis事务的使用

一、spring boot与MyBatis集成

    1.添加spring boot 及MyBatis 依赖

        <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
                <dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency><!-- 使用druid 数据源
 --><dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.29</version>
		</dependency></dependencies>

2.配置数据源 application.properties添加如下peizhi

# 数据源基础配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shiro
spring.datasource.username=root
spring.datasource.password=123456
# 连接池配置
# 初始化大小,最小,最大
spring.datasource.initialSize=1
spring.datasource.minIdle=1
spring.datasource.maxActive=20
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
##驼峰命名转换,写查询语句时,返回会将下划线的字段名自动转为驼峰命名方式
mybatis.mapUnderscoreToCamelCase= true

二、事务的配置

1.使用注解   @EnableTransactionManagement 和 @Transactional

在Service的实现类,类名或者方法名上 加@Transactional注解;如果在类名上加此注解,所有的public方法都会被事务管理,如果只是在某个方法名上加此注解只对该方法进行事务配置和管理(如果类名上已加,在方法名上再加会覆盖类的事务配置属性)。

比如对某插入的事务配置:

@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackFor={Exception.class,MyException.class})
public Integer add(User u) {
    return userMapper.insert(u);
}

2.启动类支持事务管理

@EnableTransactionManagement // 启注解事务管理
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application .class, args);
    }
}
事务配置完成



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值