JDBC,如果commit失败,会不会自动rollback?

鸣鸣Amadues 2015-12-12 10:19:11
比如逻辑如下:

if (success)
{
try
{
commit
}
catch exception
{
//exception
}
else //fail
try
{
rollback
}
catch exception
{
//exception
}

我想的问的是在commit那里假如catch到了异常,需要不需要在catch里执行rollback呢?
...全文
364 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸣鸣Amadues 2015-12-19
  • 打赏
  • 举报
回复
引用 3 楼 noseew 的回复:
当然需要,楼主想的很对
我后来了解了下其他语言的做法,这个要看commit work的机制。 如果commit work是异步的,也就是发送指令到db,这边程序同时进行下去,那这时由于不知道db那边是否处理成功,这个commit work是不会失败的。 如果commit work是同步的,也就是会等db处理完毕后再返回程序继续处理,那这时就能知道db是否处理成功,如果失败可以使用回滚。
noseew 2015-12-12
  • 打赏
  • 举报
回复
当然需要,楼主想的很对
injuer 2015-12-12
  • 打赏
  • 举报
回复
只要在一个连接中操作都能回滚.
鸣鸣Amadues 2015-12-12
  • 打赏
  • 举报
回复
if和else里漏了几个括号,不好意思 反正意思能看懂就行了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧