JDBC 3.0 RowSet, 類似於windows中ADO的編程方式

來源:互聯網
上載者:User

     JDBC有夠慢的,出到了3.0了才有個Rowset能類似於windows下ADO的概念,卻還是達不到ADO.net的水平。幸虧Java裡ORM這塊比較爭氣,趁著C#的ObjectSpace跳票,可以繼續耀武揚威。

     Rowset對比於ResultSet,除了不用保持Connecton外,更重要特點是能夠類似於ADO的編程方式,直接對Row賦值來進行Insert與Update, 而不用寫SQL語句。   在windows編程中經常可見這種模式,特別是ADO.net用的好時,ORM也只能算是錦上添花....

     在oracle的sample代碼中,rowset02.java完整demo了RowSet的ADO模式。
     簡化後的代碼如下:


public class RowSet02 {
  public static void main (String []args)
  {
   try
    {
      OracleCachedRowSet crowset = new OracleCachedRowSet ();
    
      crowset.setUrl (java:oracle:oci8:@);
      crowset.setUsername ("hr");
      crowset.setPassword ("hr");
    
      /*Select*/
      crowset.setCommand ("SELECT seatno, tdate, name, class FROM reservation");
      crowset.execute ();

      System.out.println ("Seat no  Travel Date  Name   Class");
      while (crowset.next ())
      {
        printRow (crowset);
      }

      crowset.setReadOnly (false);

      /*Update*/
      crowset.beforeFirst ();
      if (crowset.absolute (2))
      {
        crowset.updateString (4, "Business");
        crowset.updateRow ();
      }

      /*Insert*/    
      crowset.beforeFirst ();
      crowset.moveToInsertRow ();
      crowset.updateInt (1, 107);
      crowset.updateDate (2, new Date (975915381774L));
      crowset.updateString (3, "Pluto");
      crowset.insertRow ();
   
      /*Delete*/
      crowset.beforeFirst ();
      if (crowset.absolute (6))
      {
        crowset.deleteRow ();
      }

     
      crowset.acceptChanges ();
      crowset.close ();

     
    }catch (SQLException ea)
    {
      ea.printStackTrace ();
    }
  }

 
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.