java jtable 显示数据库_java – 在JTable中显示数据库中的数据

下载

SQuirreL SQl的源代码并查看表实现.

有些事情需要注意:

数据库表不是Java JTable.数据库中的表实际上是一个集合(诅咒使用错误术语的傻瓜)和项目,每个项目都有属性(通常称为“列”,而不是JColumn,它解释了为什么很难映射这两个) .

一套可以增长到任何尺寸.它没有内在的秩序.你可以对它进行很多设置操作,例如:union,difference,sub set.

因此,它不是表,尤其不是UI表.

没有简单的UI范例将“set”映射到“table”.您可以

>加载N条记录并翻阅结果.

>您可以在用户向下滚动时加载更多内容

>您可以计算集合的大小并相应地调整滚动条.当用户滚动数据时,它将从DB中获取并显示.

优点缺点:

解决方案1实现起来最简单,也是用户最讨厌的解决方案.他们为什么要在倒退时等待再次查看数据呢?如果每次获取需要15秒,这尤其令人沮丧.页面…等待…页面…哎呀!那是它!该死的!等待等待……回来……等等…… aaargh.

此外,数据库通常很难分页数据.对于某些查询,性能可能是灾难性的.

解决方案2易于实现,尤其是如果您可以永久保持ResultSet打开.但是100%的时间,你不能.如果你把它打开几个小时或一天,它将开始失败.在那段时间之后,DB会认为“哦,它已经死了,Jim”并关闭连接,你的用户会得到一个很好的错误信息,你会得到一个愤怒的用户.

所以你也需要在这里寻呼,但不是经常.从积极的方面来说,用户无需再等待他们已有的数据.一个重要的观点:如果集合包含数百万行,用户可以直观地了解他们需要在向下滚动时从不同角度解决问题.最终,他们会感到疲倦并要求更好的解决方案(而不是对你生气,因为你的愚蠢程序不能在不到0.0000000001秒内显示1500万行).

解决方案3再次比#2差.如果表增长,UI将变得无法使用:即使查看滚动,也会将您移动到表中的随机位置.所以它让你的鼠标无用.而你的用户生气了.

所以我通常会尝试一个解决方案:

>读取1000行,最多另外,如果读取行超过1秒,我会在100行之后停止(因此用户至少有一些数据).通常,查询速度很慢,读取结果集几乎没有时间,但我喜欢在这里采取防御措施.

>在每列的顶部是一个过滤器和一个“order by”,它可以直接映射到SQL.这样,我可以确保如果您希望按列排序的数据,它将按所有值排序(而不仅仅是您可以在屏幕上看到的值).

这允许用户将大量数据切割成有意义的子集.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值