电脑技术学习

Java中Connection事务处理的一点儿例外

dn001

 Java中java.sql.Connection

  可以设置

  conn.setAutoCommit(false);

  conn.setTransactionIsolation(xxx);//xxx为4种参数

  {

  ......

  }

  conn.commit();

  大括号中间,可以用conn创建的statement来执行executeupdate,这种执行算“虚拟提交,如果一旦conn.rollback()回滚,那么提交就失败,直到commit()才算作真正写入数据库。

  但是,注意!由statement创建的ResultSet如果为可更新类型的话,一旦执行rs.updateRow();那么就直接提交,不管是否开启的事务功能。。。这个不算意外,但是还应当避免。

  因为其实说话回来,用rs的更新必须有.updateRow();执行才算提交,也相当了一个“事务功能,何乐不为~?

标签: 事务处理