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

现在有四个java类,通过jdibc分别对四个表进行插入操作,如果有一个表插入失败,其他操作也无效,请问怎么让这四个类中的插入方法绑定在一个事物中,异常后回滚?... 现在有四个java类,通过jdibc分别对四个表进行插入操作,如果有一个表插入失败,其他操作也无效,请问怎么让这四个类中的插入方法绑定在一个事物中,异常后回滚? 展开
 我来答
hesiwei526
推荐于2016-05-13 · 超过12用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:35.1万
展开全部
可以把要执行的四个SQL语句写到同一个List中再调用此方法
你也可以自己写
主要注意
执行sql插入前要取消自动提交 con.setAutoCommit(false);
全部sql语句执行完成后再提交 con.commit();
执行过程抛出异常则回滚 con.rollback();
希望对你有帮助

public boolean exeupdate(List<String> sqls) throws SQLException {
boolean flag = false;
openPoolConnection();//创建连接
try {
//
con.setAutoCommit(false);//取消自动提交

for(int i=0;i<sqls.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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式