JDBC 3.0 RowSet, 类似于windows中ADO的编程方式
2008-02-23 09:33:33来源:互联网 阅读 ()
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 ();
}
}
}
上一篇: PDF背景灰色图片设定方法
下一篇: Java how to program(Third Edition)——我的java手记
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java程序员面试三十二问
下一篇:绿色和本地线程简单介绍
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash