spring boot事务使用
程序员文章站
2022-07-04 23:43:14
...
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);
}
}
事务配置完成上一篇: Oracle - crfclust.bdb文件太大
下一篇: Python模块搜索路径代码详解