仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1306|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之分页显现从数据库中读出的纪录

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:50:42 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。分页|数据|数据库|显现  在用JDBC会见某个数据库,并读出一个ResultSet数据纪录集时,假如纪录数太年夜,则会占用客户端(运转java程序的呆板)的大批内存(假如客户端是某个年夜企业的业务部门的代办署理点分机,则有大概java程序会占用完整部内存,然后报错),而且会形成客户端负载太重,运转速率极端迟缓(在sybase数据库中,我曾做过一个测试。选择某个年夜数据纪录,SQL语句运转完必要4分钟,而在java客户端完整显现出来,则必要快要10分钟)。  办理计划:
  给用户供应一个可选择分页显现的选项,假如用户不想分页显现则完整显现,不然分页显现。

  1.界说一个分页数全局常量,即每页显现的数据条数。


  privatefinalstaticintSKIP=100;


  2.界说一个断定某个分页条数的全局变量,即该显现页确当前显现数据条数。


  privatestaticintcur=0;


  3.界说一个ResultSet全局变量,以便屡次利用


  privatestaticjava.sql.Resultrs=null;


  4.翻开一个数据库毗连[/pre]


  Class.forName(sqlDriver);  java.sql.Connectionconn=DriverManager.getConnection(URL,(String)userName,(String)Passwd)  Statementstmt=conn.createStatement();  StringsearchSql="......";  rs=stmt.executeQuery(searchSql);




  5.猎取查询了局集数据(通常为在查询按钮的呼应事务函数里)




  ......  nextButton.setEnable(true);  cur=0;  while(cur<SKIP&&rs.next()){  cur++;  .....(猎取rs中的纪录,存进java程序的变量中)  }


  6.显现下一页的了局集数据(通常为鄙人页按钮的呼应事务函数里)


  if(rs.getRow()==0)  {  nextButton.setEnable(false);  closeConnection();--rs的cursor已到了最初,了局集显现终了,封闭此次的毗连  }  cur=0;  if(rs!=null&&rs.getRow()>0)  {  ....将上页显现的内容扫除  while(cur<SKIP&&rs.next())  {  cur++;  .....(猎取了局会合的纪录,存进java程序的变量中)  }  }


  缺点:  此办法依据2.0版本的JDBC(详细和JDBC驱动程序的供应商有关)之前的ResultSet类发生,由于ResultSet没法将已显现的了局集回滚,以是此法只能依照ResultSet类的界说,从左往右、夙昔今后的扫瞄数据了局。没法静态显现指定恣意前后的了局集数据。

J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-23 13:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表