关于组合查询的实现

简介: 示范中心有一项功能是组合查询,就是在现有数据(例如教师、实验室、实验项目)中过滤出感兴趣的数据。因为数据的类型比较多,大约有十个,为每种类型都做一套查询界面和对应的Action代码很不划算。 我打算通过配置文件的方式,为每个类型的数据都需要对哪些属性进行过滤进行说明,并且说明每个属性在界面上表现为文本框、下拉框或是日期选择框,从而生成不同的查询界面,比如下面的格式定义了教师的查询属性集合,等等。

示范中心有一项功能是组合查询,就是在现有数据(例如教师、实验室、实验项目)中过滤出感兴趣的数据。因为数据的类型比较多,大约有十个,为每种类型都做一套查询界面和对应的Action代码很不划算。

我打算通过配置文件的方式,为每个类型的数据都需要对哪些属性进行过滤进行说明,并且说明每个属性在界面上表现为文本框、下拉框或是日期选择框,从而生成不同的查询界面,比如下面的格式定义了教师的查询属性集合,等等。

None.gif < root >
None.gif
< queryConfig >
None.gif    
< class > edu.pku.cc.democenter.model.business.Teacher </ class >
None.gif        
< name > 教师 </ name >
None.gif        
< property >
None.gif            
< name > 姓名 </ name >
None.gif            
< field > name </ field >
None.gif            
< control > text </ control >
None.gif        
</ property >
None.gif        
< property >
None.gif            
< name > 性别 </ name >
None.gif            
< field > gender </ field >
None.gif            
< control > select </ control >
None.gif            
< type > edu.pku.cc.democenter.model.system.Gender </ type >
None.gif        
</ property >
None.gif
</ queryConfig >
None.gif
< queryConfig >
None.gif    dot.gif
None.gif
</ queryConfig >
None.gif
</ root >

不过有一些细节问题还需要讨论,比如下拉框的内容如何填充,不同下拉框之间可能还会有关联,比如选择了示范中心下拉框以后,实验室下拉框中就应该只出现该示范中心的实验室作为候选项。验证方式可能也是一个潜在的问题。

一个个解决吧。

本文转自博客园八进制的博客,原文链接:关于组合查询的实现,如需转载请自行联系原博主。

相关文章
|
2月前
|
关系型数据库 MySQL 数据库
MySQL查询聚合函数与分组查询
MySQL查询聚合函数与分组查询
|
2月前
|
SQL Java 数据库连接
MyBatisPlus-聚合查询、分组查询及等值查询
MyBatisPlus-聚合查询、分组查询及等值查询
354 0
|
2月前
|
JSON 自然语言处理 前端开发
4.高级查询
4.高级查询
|
2月前
第五章模糊查询和聚合函数
第五章模糊查询和聚合函数
|
2月前
|
SQL
深入了解关联查询和子查询
深入了解关联查询和子查询
33 0
|
11月前
|
关系型数据库 MySQL
MySQL查询之 联合主键
MySQL查询之 联合主键
182 0
|
11月前
|
JavaScript
简单的模糊查询
简单的模糊查询
52 0
基础DQL(数据查询)——聚合函数&分组查询
基础DQL(数据查询)——聚合函数&分组查询
98 0
基础DQL(数据查询)——聚合函数&分组查询
|
存储 安全 Java
18密态等值查询
18密态等值查询
152 0