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{
<关闭数据库的连接>
}