springboot 事务手动回滚_SpringBoot事务简单操作及手动回滚

一、引入依赖

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-data-jdbc

mysql

mysql-connector-java

5.1.48

org.springframework.boot

spring-boot-starter-test

二、application.properties

spring.datasource.url=jdbc:mysql://192.168.178.5:12345/mydb?characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.type=com.zaxxer.hikari.HikariDataSource

三、dao和service代码

1. dao

student接口

public interface StudentDao {

void saveStudent();

}

student实现类

@Repository

public class StudentDaoImpl implements StudentDao{

@Autowired

private JdbcTemplate jdbcTemplate;

public void saveStudent(){

String sql = "insert into student(name, s_class) values(?,?"; //这里会出现一个错误,少了右括号

List sqlParamList = new ArrayList();

sqlParamList.add("stn-"+Math.random());

sqlParamList.add(20);

jdbcTemplate.update(sql, sqlPar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,我们可以通过以下方式手动提交事务回滚事务或提交事务: 1. 手动提交事务: ```java @Autowired private PlatformTransactionManager transactionManager; public void someMethod() { TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { // 执行一些数据库操作 transactionManager.commit(status); } catch (Exception ex) { transactionManager.rollback(status); throw ex; } } ``` 2. 手动回滚事务: ```java @Autowired private PlatformTransactionManager transactionManager; public void someMethod() { TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { // 执行一些数据库操作 transactionManager.rollback(status); } catch (Exception ex) { transactionManager.rollback(status); throw ex; } } ``` 3. 手动提交事务: ```java @Autowired private PlatformTransactionManager transactionManager; public void someMethod() { TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition()); try { // 执行一些数据库操作 transactionManager.commit(status); } catch (Exception ex) { transactionManager.rollback(status); throw ex; } } ``` 其中,`PlatformTransactionManager` 是Spring Framework中的一个接口,它定义了管理事务的方法。`DefaultTransactionDefinition` 是Spring Framework中的一个类,它定义了事务的属性,如隔离级别、超时时间等。`TransactionStatus` 是Spring Framework中的一个接口,它定义了事务的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值