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();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?