(1) A,B 是2个方法,正常的数据库事物操作 采用以下这种形式。
conn.setAutoCommit(false);
A();
B();
conn.commit
(2) 但是我想如果换成是if(A()&&B()){
return ture;
}这样也能达到 (1)同样的效果吗??

解决方案 »

  1.   

    不能,因为 && 运算是短路运算,如果改成 & 就可以了。
      

  2.   

    如果 && 左边为 false,那么右边根本不会执行,这种就称为短路运算,是编译器的一种优化形式。
      

  3.   

    情况是这样的,意思  A()方法 和B()方法都涉及到 插入删除 表数据,如果操作成功 返回true, 这样的操作和事物 conn.commit() 一样的效果吗
      

  4.   


    插入成功和commit可不是一回事如果在自动commit的情况下
    插入成功后也就同时完成了commit的操作如果不是自动commit
    就算你插入操作成功,也可以通过rollback来撤销插入操作