日期:2014-05-20  浏览次数:20669 次

是否都有必要设置conn.setAutoCommit(false)
做项目是否都有必要设置conn.setAutoCommit(false)?
为什么?主要是为什么!

------解决方案--------------------
我认为有必要,conn.setAutoCommit()的功能是每执行一条SQL语句,就作为一次事务提交。但一般在项目中很有可能需要执行多条SQL语句作为一个事务。若有一个执行不成功,就会rollback();

------解决方案--------------------
我是喜欢conn.setAutoCommit(false);在配置里设置
提交不成功就roolback()
对于一次处理多条语句时必须的;

如果在后台代码中可根据情况选择了
------解决方案--------------------
就算是一条语句也有可能在提交时出问题呀!所以这样有利于事务处理呀

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