conn.setAutoCommit(false)数据回滚设置

前言:介绍一点爱混淆的概念。

1、mysql中默认 autocommit=1;事物自动提交。 可通过 select @@autocommit;查看
但是是设置事务自动提交模式为set autocommit = 0, 也就是不自动提交。自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。

2、start transaction 是声明开始一个事务。然后执行sql语句,最后执行commit。

再来说今天的重点,其实也很简单。

JDBC中的这个参数:conn.setAutoCommit(true)和(false)的区别true:sql命令的提交(commit)由驱动程序负责.false:sql命令的提交由应用程序负责,程序必须调用commit或者rollback方法(这个在catch{}中执行).

请结合关注我的另一篇博客关于事物的隔离级别。
时间: 2024-10-24 22:13:52

conn.setAutoCommit(false)数据回滚设置的相关文章

C# 数据回滚

public int GetExecteQuery(string strAddSql, string strUpdateSql, string strDelSql) { SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["GPSP_SQL"]);//实例化数据连接 //SqlConnection conn = new SqlConnection(CO

错删之前的数据回滚

执行如下sql语句,可对之前删掉的数据回滚: Insert into CRM_ORDER  select *    from  CRM_ORDER as of timestamp to_timestamp('2016-04-23 01:40:00','yyyy-mm-dd hh24:mi:ss')

【MySQL】通过Binary Log简单实现数据回滚(一)

一.前言 对,没错,我又水了好一阵子,深刻反思寄几.前段时间,工作项目上出于对excel等批量操作可能出现误操作的问题,要求提供一个能够根据操作批次进行数据回滚的能力.在开发的过程中接触到了MySQL的Binary Log,感觉有些收获,记录一下. 二.Binary Log的概念 首先我们要了解一下什么是Binary Log(详情点进去看): Binary Log(二进制文件),包含了描述数据库更改的"事件",例如创建表的操作或者改变表的数据.如果采用基于行的日志,它还能包含已经发生更

记一次腾讯云MySQL数据库数据回滚

如题,因为操作人员的问题,需要对数据库数据进行回滚. 可以看到,设置了7天自动备份,且是物理冷备. 什么是物理冷备?科普一下: (1)热备:在数据库运行时,直接进行备份,对运行的数据库没有影响.(2)冷备:在数据库停止运行的时候进行备份,这种备份方式最为简单,只需要拷贝数据库物理文件即可.(3)温备:同样是在数据库运行的时候进行备份的,但对当前数据库的操作会产生影响. 热备份的缺点: 1.尽量不要出错,否则后果会很严重. 2.如果热备份不成功,所得结果不可用于时间点的数据恢复. 3.维护的工作比

oracle commit之后的数据回滚

当你晕晕乎乎的执行了commit之后,突然间意思到自己点错了,那说明你和我碰到了一样的问题. 瞬间感觉大冷天头顶冒汗,那就说明你的感觉对了.废话少说,下面是我的办法: 下面的例子都是以Test表为例. select t.*,t.rowid from Test t;-----执行了一堆命令commit;意识到自己点错了. 开始恢复了select * from Test as of timestamp to_timestamp('2016-12-29 15:04:56','yyyy-mm-dd hh

MySQL通过binlog日志回滚数据

一.数据库在进行数据更改操作时,会出现数据误操作导致数据异常的情况,所以数据安全是重中至重,对于数据库服务,必须开启binlog日志服务,保证数据的安全,可逆回滚.二进制日志的格式有三种形式分别为ROW.Statement以及MiXED1.STATMENT模式:基于SQL语句的复制(statement-based replication, SBR),每一条会修改数据的sql语句会记录到binlog中. 优点:不需要记录每一条SQL语句与每行的数据变化,这样子binlog的日志也会比较少,减少了磁

【Java EE 学习第19天】【使用过滤器实现全站压缩】【使用ThreadLocal模式解决跨DAO事务回滚问题】

一.使用过滤器实现全站压缩 1.目标:对网站的所有JSP页面进行页面压缩,减少用户流量的使用.但是对图片和视频不进行压缩,因为图片和视频的压缩率很小,而且处理所需要的服务器资源很大. 2.实现原理: (1)使用GZIPOutputStream工具对数据进行压缩,中间借助了ByteArrayOutputStream类进行结果的存储. (2)使用过滤器对浏览器请求进行拦截,通过自定义HttpServletResponse类(使用包装模式),重写getWriter方法,使得写出的目的地转变成ByteA

好记性不如烂笔头25-JAVA处理数据库事务(3) - 事务回滚点

在具体的工作中,有的事情需要被保持,不需要回滚,有的工作需要回滚,而这些逻辑,可以通过手动设置事务的回滚点. 1.用JAVA处理数据库事务的事务回滚点的准备 要有一个能够访问数据库的应用.下面的示例都基于ORACLE进行. create table ffm_account( id int primary key , name varchar(32), money int ); 测试数据: insert into ffm_account(id,name,money)values(1,'A',100

jdbc事务回滚

http://yangzg216.iteye.com/blog/1186085 注意是同一个Statement对象 首先得清楚什么时候使用事务.    当你需要一次执行多条SQL语句时,可以使用事务.通俗一点说,就是,如果这几条SQL语句全部执行成功,则才对数据库进行一次更新,如果有一条SQL语句执行失败,则这几条SQL语句全部不进行执行,这个时候需要用到事务.    其次才是事务的具体使用.    1.获取对数据库的连接(代码这里省略了吧,网上太多了,对各种数据库的连接的都有)    2.设置