还想请教下事务在jsp中怎么写?

jsp连接数据库把executeUpdate()语句写在bean中怎么写?

要能返回int值,根据int值判断操作是否成功。

森栏
浏览 74回答 1
1回答

精慕HU

public static int executeUpdate(String sql/*,String[] parameters*/){int result=0;try{ct=getConnection();ps = ct.prepareStatement(sql);/* if(parameters!=null){for(int i=0;i<parameters.length;i++){ps.setString(i+1,parameters[i]);}}*/result=ps.executeUpdate();}catch(Exception e){e.printStackTrace();//开发阶段//抛出异常//可以处理,也可以不处理throw new RuntimeException(e.getMessage());}finally{close(rs,ps,ct);}return result;}//事务try{conn=DriverManager.getConnection("..."); //链接数据库 conn.setAutoCommit(false);//禁止自动提交事务String sql1 = "update useraccount set monery=monery-1000 wherename='usename'"; String sql2 = "update sysaccount set monery=monery+1000 wherename='sysname'";int result1=server.executeUpdate(sql1);int result2=server.executeUpdate(sql2);if(result1>0&&result2>0){conn.commit(); //统一提交。}}catch(SQLException e){  conn.rollback();//倘若其中一项sql操作失败,就不会执行commit()方法,而是产生相应的sqlexception,此时就可以捕获异常代码块中调用rollback()方法撤消事务。  e.printStackTrace(); } finally{  if(stmt!=null){   stmt.close();  }  if(conn!=null){   stmt.close();  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript