一个轻量级数据管理与分析平台的实现 - 编程入门网
表 3. 人口表(POPULATION)
表 1 所示的数据,应该来自表 2 和表 3 的连接查询: 代码 1. SQL 示例
如前所述,查询结果集中包含了 AREA 表的AREANAME 列,满足了用户业务逻 辑视角的展示需要;包含了 POPULATION 表的AREAID 和 YEAR 两列,满足了在 POPULATION 表中定位数据行进行数据更新的需要。 一个轻量级数据管理与分析平台的实现(3)时间:2011-05-25 IBM 孙重波采用 Applet + JSP 如果仅仅只需要满足表 1 所示的图形界面——一个展现数据的表格,那么表 现层的选择没有任何约束,可以用在 Java EE 平台下的任何表现层技术都能满足 。表格中的数据需要能够修改;如地区这样的列需支持下拉列表选择填写;表格 中的数据可以支持复制、粘贴;必须允许用户根据表格中的数据制作图表;图表 可以放大缩小;图表可以打印;图表可以导出成图片;…… 随着要求的进一步增多,可选范围迅速减小,但是可以肯定的是,Java Swing + JFreeChart 差不多可以满足所有要求。考虑到这个功能是用于 B/S 架构系统 中的,选择嵌入 JSP 页面的Applet 作为表现层策略,是合适的。 一旦表现层确定为 JSP + Applet 的方式,意味着客户端获取到了最大的可 交互性。在服务器端查询的结果集,进行简单封装,采用对象序列化方式,将其 传送到 Applet 端,Applet 端使用 Java Swing 构造显示的图形界面,并处理用 户的操作。 使用模板 SQL 实现查询 在用户界面中,像时间和地区这样的数据筛选条件,可能分别用下拉列表选择 和树形结构实现,以增强直观度和易用性。换句话说,代码 1 所示的SQL 语句中 ,需要根据用户在界面上的选择结果,生成适当的where 子句以响应筛选条件。 假设根据需求,构造了如下图所示的UI: 图 1. UI 示意图 那么,图示的UI中,地区的选择,在代码 1 对应的SQL中,对应添加 B.AREAID=? 的where 子句选;两个年份的选择,对应添加 B.YEAR between ? and ? 的子句;而数据类别的选择,则是用来确定被查询的数据类别的。考虑使 用如代码 2 所示的SQL 语句: 一个轻量级数据管理与分析平台的实现(4)时间:2011-05-25 IBM 孙重波代码 2. SQL 示例
上述代码中,@area 和 @year 是需要根据用户所选择之条件进行替换的替换 标识。 不要小看这一点点小手段,统计局的大多数数据都是按照地区和时间进行分类 和统计的,因此上面的简单方案已经可以处理大多数统计数据的查询需求了。而 且 @area 这个替换标识,既可以用 AREAID=? 的子句替换,也可以用 AREAID in (?,?) |
||||||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |