JAVA中JDBC的事务管理——Connection

 

Connection接口中定义了三个对应的方法

开启事务: setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务

提交事务: commit()

回滚事务: rollback()

使用场景:

在开启事务语句与提交事务语句的代码块中,可能是由于数据处理的异常使得sql语句比如(update,insert ,delete语句)对数据库结构产生影响,而我们期望这些sql语句要么同时成功,要么同时失败。则使用try-catch捕获异常,并在catch语句中调用rollback(),事务回滚到开启事务时的状态,使得该代码块中所有语句都不对数据库产生任何影响。

注意:commit()在mysql中一般是自动提交,若是注释了开启事务和提交事务语句,则异常之前的sql语句都会正常执行(即异常之前的sql语句成功,异常之后的失败),


try{

con.setAutoCommit(false);//   con为connection对象,开启手动提交事务

//在开启事务与提交事务的代码块中,有对数据库结构产生影响的sql语句。

con.commit();
}catch(Exception e){

con.rollback();
e.printStackTrace();

}

posted @   昊月光华  阅读(70)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示