java事务回滚_java如何在保证事务同时回滚的情况下读未提交?

在同一个事物中,更新后(事务未提交)再查询也是可以查询到更新后的数据,所以你的这个过程是可以的,是有数据库保证的。

举个例子吧:

package com.lz.dao.base;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class Test {

public static void main(String[] args){

execute();

}

/**

* 使用的数据库为mysql,数据库默认隔离级别为:repeatable

* 下面的代码只为演示用

*/

public static void execute(){

Connection con = null;

try{

con = DbUtils.getConnection();

con.setAutoCommit(false);

String updateSql = "update lz_nav_category set name = 'google' where id = 55";//更新分类名称

PreparedStatement ps = con.prepareStatement(updateSql);

ps.executeUpdate();

String querySql = "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值