用SWT中虚拟表格解决大数据量加载问题.doc

用SWT中虚拟表格解决大数据量加载问题.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用SWT中虚拟表格解决大数据量加载问题

用SWT中的虚拟表格解决大数据量加载问题 此文引用网站以为兄弟的,具体地址记得不是很清楚。但是主体内容一样。 问题的提出:一般情况下,我们采用分页技术来解决大数据量加载的问题,这也是最好的办法。但是在有的项目中会遇到一次加载万单位级别数据的需求。尽管这是很糟糕的做法,即耗资源、加载速度又慢,但用户明指明了这样的需求,不这么做还不行。 解决方法:采用SWT中的虚拟表格技术来创建拥有大数据量的表格,解决加载速度让人难以忍受的问题,提升加载效率。 为了充分的说明问题,本文通过对比常规方法和虚拟表格技术加载2万条数据所需的时间,来说明虚拟表格在加载大数据量时的优越表现。 第一步:准备数据 1.? 首先建立所需的数据表 create table user (id int(10) primary key auto_increment, name1 varchar(20) , name2 varchar(20) , name3 varchar(20) , name4 varchar(20)) type=innodb; 2.插入数据(写测试的目的一般带有破坏性,我插了2万条) for (int i=0;i20000;i++) { String s = chengang; sm.executeUpdate(insert into test_table (name0,name1,name2,name3) values ( + s+1 +i +, + s +2+i +, + s +3+i +, + s +4+i +)); } 3.创建一个DAO文件,用来处理插入和获得数据: ConnDAO.java,详细内容请参看源文件 //按照给定的sql进行数据库查询 //取出数据后,赋值个Vector,并返回 public Vector executeQuery(String sql) { ResultSet rs = null; Vector vResult = new Vector(); try { Class.forName(driver); con = DriverManager.getConnection(dburl,userName,password); stmt = con.createStatement(); rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int numCols = rsmd.getColumnCount(); while (rs.next()) { String strTempArray[] = new String[numCols]; for(int i = 1; i = numCols; i++) { /*将存储过程得到的每个字段赋值到字符串数组,并将其做为对象加入到vector类中返回*/ strTempArray[i - 1] = rs.getString(i); } vResult.addElement(strTempArray); } }catch(Exception e) { System.out.println(Query Error!!!!!!!!!); } return vResult; } } 第二步:创建测试文件 ? 在开始之前,请你确认正确安装了SWT Designer,创建一个基于SWT/JFS的项目(不是必须,但这样可以方便使用可视化编辑,当然你也可以直接编写代码)。 ? 1.为了与虚拟表格进行对比,我们首先用普通Table加载这2万条数据。 HelloWorld_Common.java package edu.bjtu.zhao.demo; //import 引入相关的类,具体可以参考本文的源文件 public class HelloWorld_Common { private static Table table; /** * Launch the application * @param args */ public static void main(String[] args) { //为了清晰说明问题,在此省略了相关部分代码,可以参考源代码 tabl

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档