rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Java基础

java中的事务处理

一般情况下,j2ee应用服务器支持jdbc事务、jta(java transaction api)事务、容器管理事务。一般情况下,最好不要在程序中同时使用上述三种事务类型,比如在jta事务中嵌套jdbc事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用。下面我们列举两种事务处理方式。   1、javabean中使用jdbc方式进行事务处理   在jdbc中怎样将多个sql语句组合成一个事务呢?在jdbc中,打开一个连接对象connection时,缺省是auto-commit模式,每个sql语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个sql语句组合成一个事务,要将auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不调用commit()方法,sql语句不会得到事务确认。在最近一次commit()方法调用之后的所有sql会在方法commit()调用时得到确认。 public int delete(int sid) {
 dbc = new databaseconnection();
 connection con = dbc.getconnection();
 try {
  con.setautocommit(false);// 更改jdbc事务的默认提交方式
  dbc.executeupdate("delete from bylaw where id=" + sid);
  dbc.executeupdate("delete from bylaw _content where id=" + sid);
  dbc.executeupdate("delete from bylaw _affix where bylawid=" + sid);
  con.commit();//提交jdbc事务
  con.setautocommit(true);// 恢复jdbc事务的默认提交方式
  dbc.close();
  return 1;
 }
 catch (exception exc) {
  con.rollback();//回滚jdbc事务
  exc.printstacktrace();
  dbc.close();
  return -1;
 }
顶一下
(0)
踩一下
(0)