AutoCAD 3DMAX C言语 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab运用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 主页 > JAVA编程

JavaBean中运用JDBC办法进行业务处理

188bet.com网 2015-09-03 http://www.pvc01.com
  在JavaBean数据库操作中,一项业务是指由一条或多条对数据库更新的sql句子所组成的一个不可分割的作业单元。只要当业务中的一切操作都正常完结了,整个业务才干被提交到数据库,假如有一项操作没有完结,就必须吊销整个业务。咱们经过提交commit()或是回滚rollback()来完毕业务的操作。关于业务操作的办法都坐落接口java.sql.Connection中。

   在第一次树立与数据库的衔接时,在缺省情况下,衔接是在主动提交形式下的, jdbc api中,能够经过调用setAutoCommit(false) 来制止主动提交业务。然后就能够把多条更新数据库的sql句子做为一个业务,在一切操作完结之后,调用commit()来进行全体提交。假使其间一项sql操作失利,就不会履行commit()办法,而是发作相应的sqlexception,此刻就能够捕获反常代码块中调用rollback()办法吊销业务。下面是一个比方;

  比方:有两张表,一个记载用户帐户(useraccount),一个是体系帐(sysaccount),现在有一个用户要向体系寄钱买东西,就要此行下面两条句子:

String sql1 = "update useraccount set monery=monery-1000 where name='username'";
String sql2 = "update sysaccount set monery=monery+1000 where name='sysname'";

  但假如第一条履行了而第二条句子履行出错了就会形成不良后果。这是就能够用手动提交的办法来避免这种工作的发作:首要代码

try{
 .
 .
 .
 conn=DriverManager.getConnection("..."); //链接数据库

 conn.setAutoCommit(false);//制止主动提交业务
 stmt = conn.Create....
 String sql1 = "update useraccount set monery=monery-1000 where name='usename'";
 String sql2 = "update sysaccount set monery=monery+1000 where name='sysname'";
 stmt=conn.createStatement();
 stmt.executeUpdate(sql1);
 stmt.executeUpdate(sql2);

 conn.commit(); //一致提交。

 }catch(SQLException e){
  conn.rollback(); //假使其间一项sql操作失利,就不会履行commit()办法,而是发作相应的sqlexception,此刻就能够捕获 反常代码块中调用rollback()办法吊销业务。
  e.printStackTrace();
 }
 finally{
  if(stmt!=null){
   stmt.close();
  }
  if(conn!=null){
   stmt.close();
  }
 }

 

 

 
阐明
:本教程来历互联网或网友上传或出版商,仅为学习研讨或媒体推行,pvc01.com不确保材料的完整性。
 
上一篇:争鸣:Java的Web结构 让我怎么去爱你  下一篇:回来列表