网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.为Tomcat注册的Windows服务增加安.
.JDBC专题介绍.
.作为一个初学者如何开发第一个Be.
.技术原型法:软件技术难点不等于.
.Java的ClassLoader与Package机制.
.tomcat配置web在线后台管理.
.浅谈将子类对象赋值给父类对象.
.彻底研究 Java 中的正则表达式.
.Java从入门到精通之工具篇.
.在ejb中直接利用jdbc读取数据库记.
.Huihoo.org发布了JFoxMX的最新版.
.Java技巧:使用管道数据流传送数.
.实 现JAVA 的 动 态 类 载 入 机.
.轻量级IoC容器来扩展ANT享受SPRI.
.使用Socket通道读取web页面.
.Java5.0多线程编程实践.
.JAVA代码编写的30条建议 选.
.J2EE、CORBA、DNA三种主流中间件.
.Servlet 容器的工作原理 ( 二 ).
.Servlet + Tomcat 中文乱码的原理.

JDBC 3.0 RowSet, 类似于windows中ADO的编程方式

发表日期:2008-1-5


     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 ();
    }
  }

 
}


上一篇:Java how to program(Third Edition)——我的java手记 人气:565
下一篇:PDF背景灰色图片设定方法 人气:1430
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐