您的位置:

java回滚,java回滚操作

本文目录一览:

java中jdbc多表操作如何事物回滚

可以把要执行的四个SQL语句写到同一个List中再调用此方法

你也可以自己写

主要注意

执行sql插入前要取消自动提交

con.setAutoCommit(false);

全部sql语句执行完成后再提交

con.commit();

执行过程抛出异常则回滚

con.rollback();

希望对你有帮助

public

boolean

exeupdate(ListString

sqls)

throws

SQLException

{

boolean

flag

=

false;

openPoolConnection();//创建连接

try

{

//

con.setAutoCommit(false);//取消自动提交

for(int

i=0;isqls.size();i++)

{

pstmt

=

con.prepareStatement(sqls.get(i));

int

rows

=

pstmt.executeUpdate();

}

flag

=

true;

con.commit();//提交

}

catch

(Exception

e)

{

con.rollback();//回滚

e.printStackTrace();

}

finally

{

this.closeAll();//关闭连接

数据集

语句对象

}

return

flag;

}

在Java中事物的提交和回滚是什么意思?

向数据库提交数据或修改数据,如果你觉得没有问题,就可以提交,如果其中有一个环节出错了,就可以设置回滚,可以根据判断进行回滚,不是非要出异常了才回滚,如何回滚如何提交要看你的业务逻辑。

比如:

你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱,怎么办?银行会事务回滚,不保存你刚才的操作,即恢复到你没转账之前的状态。

请教:如何在java程序中实现数据操作的“回滚”

--事务处理:

begin tran --开始处理数据时,开启事务

--下面是具体的处理语句

insert into 表 values(1)

if @@error0 --如果处理语句出错,回滚事务

begin

rollback tran

goto lbexit

end

update 表 set 字段=1

if @@error0 --如果处理语句出错,回滚事务

begin

rollback tran

goto lbexit

end

commit tran --所有执行成功,提交事务

lbexit:

JAVA的话,可以在连接对象上启用事务