是否都有必要设置conn.setAutoCommit(false)

Davis129 2007-09-14 08:22:02
做项目是否都有必要设置conn.setAutoCommit(false)?
为什么?主要是为什么!
...全文
3408 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
joybin 2011-12-15
  • 打赏
  • 举报
回复
好内容 顶
「已注销」 2011-11-11
  • 打赏
  • 举报
回复
看情况而定。
Java高知社区 2011-08-13
  • 打赏
  • 举报
回复
有时候是很必要的,特别是纯JDBC的事务控制,就更需要了,举个例子来说吧,你要删除某个部门,而该部门下又有多个员工,这时候,你就得先删除该部门下的所有员工,这里,你就得把两个操作(删除员工和删除部门)放在同一个业务中了,而这种情况下是很危险的,你可能成功删除了该部门下的所有员工而删除该部门的时候又遇到了异常即没有成功删除。这时候,如果你原先没有把事务提交方式改为手工提交,而之前删除的员工的事务又已经自动提交了,就无法进行数据回滚,员工的数据就找不回了,这时,你会45度仰望天空,感叹一声:“啊,悲剧终于发生了”
a619225471 2010-11-03
  • 打赏
  • 举报
回复
学习学习
ageha67 2010-02-22
  • 打赏
  • 举报
回复
学习学习,正好一个项目用到conn,了解一下。。
uastation 2009-01-29
  • 打赏
  • 举报
回复
新年快乐..新手上论坛来了..欢迎...呵呵..受益匪浅
ningyougang 2008-02-08
  • 打赏
  • 举报
回复
受益匪浅啊
wshsm 2007-09-18
  • 打赏
  • 举报
回复
查询就不用了,只有一句更新语句也不用。如果有一系列的更新,其中一个发生异常就要全部回滚的才需要。
KingNE 2007-09-18
  • 打赏
  • 举报
回复
UP LS
冰思雨 2007-09-17
  • 打赏
  • 举报
回复
一般来讲,大家对数据库中的表单,主要是增、删、改、查 这四个操作,如果你的程序当中,遇到一次业务逻辑需要两次或两次以上的对相同数据表的增删改操作,那么,为了数据的一致性,(或者具体说,在你的一次业务逻辑的处理过程中,其他(线程或程序或业务处理)的对相同数据的相同两次查询所得结果相同。)我们会利用数据库的事务操作,将一次业务逻辑所包含的所有操作封装在一个事务里,一次将多个操作进行提交。
而conn的setAutoCommit方法,是指,在事务当中,是否执行一条语句就自动提交一次。
这样的话,如果,你想在一个事务里进行多个操作。就必然将setAutoCommit的参数设置成false,在多个操作的最后调用conn.commit()方法,进行手动提交。
Davis129 2007-09-17
  • 打赏
  • 举报
回复
楼上说单句SQL也需要setAutoCommit(false),大家认为呢?
yong1pop 2007-09-16
  • 打赏
  • 举报
回复
就算是一条语句也有可能在提交时出问题呀!所以这样有利于事务处理呀
YHAIBINY 2007-09-16
  • 打赏
  • 举报
回复
不写就会默认自动提交,所以还是应该写成setAutoCommit(false) ,这样在执行SQL语句不成功是就可以用rollback(),这样可以确保程序顺利运行
marlonqx 2007-09-16
  • 打赏
  • 举报
回复
不写会默认true了;自己选择拉
marlonqx 2007-09-16
  • 打赏
  • 举报
回复
我是喜欢conn.setAutoCommit(false);在配置里设置
提交不成功就roolback()
对于一次处理多条语句时必须的;

如果在后台代码中可根据情况选择了
Davis129 2007-09-16
  • 打赏
  • 举报
回复
大家都会在getConnection()函数里写上conn.setAutoCommit(false)吗??
这很容易回答吧!
Davis129 2007-09-14
  • 打赏
  • 举报
回复
但是多条SQL的操作事务相对于单条SQL的操作 好象少的可怜
wwy_0918 2007-09-14
  • 打赏
  • 举报
回复
我认为有必要,conn.setAutoCommit()的功能是每执行一条SQL语句,就作为一次事务提交。但一般在项目中很有可能需要执行多条SQL语句作为一个事务。若有一个执行不成功,就会rollback();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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