代码setAutoCommit()的分析和总结;

public boolean addCategory(Category category) throws SQLException {
		// TODO Auto-generated method stub
		Connection conn = dbconn.getConnection();
		categoryDaoImpl = new CategoryDaoImpl(conn);
		try {
			conn.setAutoCommit(false);
			if (categoryDaoImpl.addCategory(category)) {
				conn.commit();
				return true;
			}
		} catch (SQLException e) {
			conn.rollback();
			log.error("addCategory:" + e.getMessage());
		} finally {
			conn.setAutoCommit(true);
			if (conn != null) {
				conn.close();
			}
		}
		return false;
	}

上面是已小列子,主要用setAutoCommit()的方法;

现在分析下,都是在网上找的

1:

一般来讲,大家对数据库中的表单,主要是增、删、改、查 这四个操作,如果你的程序当中,遇到一次业务逻辑需要两次或两次以上的对相同数据表的增删改操作,那么,为了数据的一致性,(或者具体说,在你的一次业务逻辑的处理过程中,其他(线程或程序或业务处理)的对相同数据的相同两次查询所得结果相同。)我们会利用数据库的事务操作,将一次业务逻辑所包含的所有操作封装在一个事务里,一次将多个操作进行提交。
而conn的setAutoCommit方法,是指,在事务当中,是否执行一条语句就自动提交一次。
这样的话,如果,你想在一个事务里进行多个操作。就必然将setAutoCommit的参数设置成false,在多个操作的最后调用conn.commit()方法,进行手动提交。

2:查询就不用了,只有一句更新语句也不用。如果有一系列的更新,其中一个发生异常就要全部回滚的才需要。

时间: 2024-10-25 06:02:32

代码setAutoCommit()的分析和总结;的相关文章

CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析

漏洞描述: 3月27日,在Windows 2003 R2上使用IIS 6.0 爆出了0Day漏洞(CVE-2017-7269),漏洞利用PoC开始流传,但糟糕的是这产品已经停止更新了.网上流传的poc下载链接如下. github地址:https://github.com/edwardz246003/IIS_exploit 结合上面的POC,我们对漏洞的成因及利用过程进行了详细的分析.在分析过程中,对poc的exploit利用技巧感到惊叹,多次使用同一个漏洞函数触发,而同一个漏洞同一段漏洞利用代码

MDU某产品OMCI模块代码质量现状分析

说明 本文参考MDU系列某产品OMCI模块现有代码,提取若干实例以说明目前的代码质量. 本文旨在就事论事,而非否定前人(没有前人的努力也难有后人的进步).希望以史为鉴,不破不立,最终产出高质量的代码. 一  质量现状 不考虑业务实现,现有的OMCI模块代码质量不甚理想.无论是理解上手.修改扩展和测试排障,可以用举步维艰形容.尤其是二层通道计算相关代码,堪比令史前动物无法自拔的"焦油坑". 本节将不考虑流程设计,仅就函数粒度列举目前存在的较为突出的代码质量问题. 1.1 巨型函数 通过S

高级C代码的汇编分析

在windows上,常用的函数调用方式有: Pascal方式,WINAPI(_stdcall)方式 和C方式(_cdecl) _cdecl调用规则: 1,参数从右到左入堆栈 2,在函数返回后,调用者要负责清除堆栈 所以这种调用常会生成较大的可执行文件. _stdcall又称为WINAPI调用方式,规则: 1,参数从右向左入堆栈 2,被调用的函数在返回前自行清理堆栈 所以这种调用会生成比cdecl小的代码 Pascal调用方式,主要用在WIN16函数库中,现在基本不用 规则: 1,参数从左向右入堆

【JS 设计模式 】用组合模式来实现树形导航--代码结构思路分析(一)

树导航效果图: 组合模式的描述: 将对象组合成树形结构以表示"部分-整体"的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性. 我们把部分用Leaf表示, 把整体用Composite表示.组合模式是有一定规律的,在实现树导航的情况下,Composite需要包含一个以上Leaf,也可以包含一个以上Leaf和一个以Composite,为什么说要包含一个以上的,如果Composite不包含任何子child的话那么它就是Leaf,Leaf表示是最后一层结节. 树形导航代码片段:

【JS 设计模式 】用组合模式来实现树形导航--JS代码结构思路分析(二)

[JS 设计模式 ]用组合模式来实现树形导航--代码结构思路分析(一) 根据上一节中的HTML代码结构我们通过JS来渲染HTML代码,我们先提供一下JS的代码片段,这代码代码不是一个完整的代码是经过简化的.通过JS代码来分析如何组装HTML的 Composite类型的代码: function TreeComposite(id, name, total, level, last) { var root = document.createDocumentFragment(); var panel =

打造smali代码库辅助分析

打造smali代码库辅助分析 在分析Android应用程序的时候,我们往往会插入代码重打包apk来辅助我们分析的工作 一个比较取巧的方法就是先用java写好代码以及相关的调用之后, 然后直接扣出代码 然后可以制作成各种代码模版,放在Android Killer中使用(代码模版管理器) Android Killer 自带3种代码模版 1. LoadLibrary const-string v0, "so name" invoke-static {v0}, Ljava/lang/Syste

[Android6.0][RK3399] 双屏异显代码实现流程分析(一)【转】

本文转载自:http://blog.csdn.net/dearsq/article/details/55049182 Platform: RK3399 OS: Android 6.0 Version: v2016.08 代码流程 代码详解 mipi dsi 接口信息初始化 fb相关信息读取 timing 参数初始化 mipi dsi controller 初始化 lcdc控制器注册 本文分为两部分. <[RK3399] 双屏异显代码实现流程分析(一)>为分析 RK video 部分标准的代码(

Netty中分隔符解码器代码示例与分析

[toc] Netty中分隔符解码器代码示例与分析 通过特别解码器的使用,可以解决Netty中TCP的粘包问题,上一篇<Netty中LineBasedFrameDecoder解码器使用与分析:解决TCP粘包问题>通过行解码器的使用来解决TCP粘包问题,这意味着Netty的服务端和客户端在每次发送请求消息前,都需要在消息的尾部拼接换行符. 除了使用行解码器外,Netty还提供了通用的分隔符解码器,即可以自定义消息的分隔符,那就是DelimiterBasedFrameDecoder分隔符解码器.

[Swift通天遁地]七、数据与安全-(15)使用单元测试进行代码的性能分析

单元测试提供了一个测试性能的方法,可以用来对应用程序的执行性能进行检测. 本文将演示使用单元测试进行代码的性能分析: 两种不同的图片加载方式的性能差异,在[Assets.xcassets]中导入图片素材. 如果项目中没有引用单元格测试框架, 项目导航区点击选中项目名称,再点击中间列的[+]图标进行添加. 在弹出的模板窗口中,选择单元测试框架模板[iOS Unit Testing Bundle] ->[Next]->保持默认的选项设置->[Finish] 打开单元测试用例文件[UnitTe