一直以来,都觉得Connection假设设置了setAutoCommit(false)后。启动手工事务提交。必须手工进行commit或者rollback才行。今天正好遇到一个问题。结果大跌眼镜。

于是測试了一下。结果例如以下(请注意在oracle驱动下,其它环境未知):

1、设置了setAutoCommit(false)后运行兴许DML的数据更新操作,没有显式手工进行commit或者rollback,最后设置setAutoCommit(true)。后关闭连接,默认提交成功。

2、设置了setAutoCommit(false)后运行兴许DML的数据更新操作,运行两段sql更新,中间rollback。第一部分回滚,第二部分不显式手工进行commit,默认提交。

3、设置了setAutoCommit(false)后运行兴许DML的数据更新操作。没有显式手工进行commit或者rollback,最后没有设置setAutoCommit(true)。关闭连接。默认提交成功。

小结:设置了setAutoCommit(false)后。除非显式rollback,否则默认提交。没有不论什么显式commit或rollback,设置设置setAutoCommit(true)或者关闭连接。之前的事务也会默认提交。

关于jave在oracle驱动下事务提交与回滚问题的更多相关文章

  1. 【转】批量复制操作(SqlBulkCopy)的出错处理:事务提交、回滚

    原文地址:http://blog.csdn.net/westsource/article/details/6658109 默认情况下,批量复制操作作为独立的操作执行. 批量复制操作以非事务性方式发生, ...

  2. JDBC03 利用JDBC实现事务提交与回滚【调用Connection中的方法实现事务管理】

    目录 1 Connection中的重用方法 2 JDBC事务管理经典案例 1 Connection类中常用的方法回顾 1.1 Statement createStatement() throws SQ ...

  3. RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)

    摘要: 事务消息提交或回滚的实现原理就是根据commitlogOffset找到消息,如果是提交动作,就恢复原消息的主题与队列,再次存入commitlog文件进而转到消息消费队列,供消费者消费,然后将原 ...

  4. 对mysql事务提交、回滚的错误理解

    一.起因 begin或者START TRANSACTION开始一个事务 rollback事务回滚 commit 事务确认 人们对事务的解释如下:事务由作为一个单独单元的一个或多个SQL语句组成,如果其 ...

  5. mysql事务提交和回滚机制

    应用场景:   银行取钱,从ATM机取钱,分为以下几个步骤       1 登陆ATM机,输入密码:    2 连接数据库,验证密码:    3 验证成功,获得用户信息,比如存款余额等:    4 用 ...

  6. 关于SAP的事务提交和回滚(LUW)

    1 Sap的更新的类型 在sap中,可以使用CALL FUNCTION ... IN UPDATE TASK将多个数据更新绑定到一个database LUW中.程序使用COMMIT WORK提交修改请 ...

  7. MySQL事务提交与回滚

    提交 为了演示效果,需要打开两个终端窗口,使用同一个数据库,操作同一张表 step1:连接 终端1:查询商品分类信息 select * from goods_cates; step2:增加数据 终端2 ...

  8. 如何在mysql下实现事务的提交与回滚

    最近要对数据库的数据进行一个定时迁移,为了防止在执行过程sql语句因为某些原因报错而导致数据转移混乱,因此要对我们的脚本加以事务进行控制. 首先我们建一张tran_test表 CREATE TABLE ...

  9. J2EE分布式事务中的提交、回滚方法调用异常。

    这个是昨天上班的时候,写一个后台程序的调试程序时碰到的问题,和项目经理纠结了一天,最后搞定了.于是今天上班正好闲着,花了几乎一天的时间去网上找各种相关的资料.目前了解的内容如此: 根据使用的weblo ...

随机推荐

  1. MVC4入门指南

    本系列共10篇文章,翻译自Asp.Net MVC4 官方教程,由于本系列文章言简意赅,篇幅适中,从一个示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门Asp.Net MVC4,并由此 ...

  2. C# 微信公众平台开发(3)-- 接受/发送消息

    1.接收事件 关注/取消关注事件: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL. 通过微信返回的XML,我们通过代码 就可以作相应的处理: 先获取返回的信息: if (Ht ...

  3. 最大值减去最小值小于或等于num的子数组数量

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第一章中“最大值减去最小值小于或等于num的子数组数量”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路, ...

  4. codevs 1515 跳 贪心+lucas

    题目链接 一个人初始在(0, 0), 想到(n, m)去, 没到一个格子, 花费的值为C(n, m), 求最小值. C(n, m)的定义为, 如果n==0||m==0, 则为1, 否则C(n, m) ...

  5. 二、Python-----用户交互

    1.用户交互 Python 3.0的写法 name = input("Please input your name:") Python 2.0的写法 name = raw_inpu ...

  6. c 结构体 简单的了解

    1.声明一个学生类的 结构体 struct Student{ int age; char name[20];//长度为20的字符串 int weiht;//像正常一样的申请变量,这个变量属于结构体的一 ...

  7. JS 深拷贝

    使用递归进行深拷贝 http://lingyu.wang/2014/03/20/js-interview-1/ Object.prototype.deepClone = function() { va ...

  8. SubLime2 win + mac keygen

    参考 http://www.cnblogs.com/snandy/archive/2013/05/08/3068059.html http://www.freebuf.com/tools/6434.h ...

  9. ***EF中的问题(复习的同学可略过)

    1.当类中出现两个导航属性时,需使用额外代码说明类之间的关系. [ForeignKey("Id")] [InverseProperty("Id"]

  10. Json.Net系列教程 3.Json.Net序列化和反序列化设置

    原文 Json.Net系列教程 3.Json.Net序列化和反序列化设置 上节补充 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framewo ...