日期:2014-05-18  浏览次数:20744 次

Connection的自动提交是怎么一回事?(分比较少 见谅)
我刚刚看到     如果需要进行批处理的话   就要把Connection设置为非自动提交

请问哪位能否给个取消自动提交   ,(批处理)执行sql语句的例子?

如果能有解释或者相关资料的连接地址最好

谢谢

------解决方案--------------------
事務?? connection的屬性 autocommit 設成false 就可以了 執行SQL語句后再提交...
屬性名不一定對 很少用 我干底層的 框架都有人寫好的 呵呵
------解决方案--------------------
jdbc事务提交有两种方式:自动提交、手动提交。
手动提交这样做:
conn.setAutoCommit(false);
//对数据库的操作
conn.commit();
如果有异常则调用conn.rollback();

------解决方案--------------------
楼主,首先你的名词用得不对,不叫作“批处理”,而称为“事务”(可以理解为要么一起执行,要么一条都不执行,够通俗了吧,呵呵~~)

一般的应用中应开启事务处理,设为手动提交,防止数据出现异常,如果使用的是 JDBC 的话一般的模式为:

try {
  con = ...;
  con.setAutoCommit(false);
   <n条SQL语句>
  con.commit(); // 执行完成后进行提交
}catch(SQLException sqle){
  con.rollback(); // 若出现异常,则进行回滚,取消前面已经执行的 SQL 语句
  e.printStackTrace();
}finally{
   <关闭数据库的连接>
}