关于组合查询的实现

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

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

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

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

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

一个个解决吧。

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

相关文章
|
6月前
|
关系型数据库 MySQL 数据库
MySQL查询聚合函数与分组查询
MySQL查询聚合函数与分组查询
queryDsl多表联合查询,任意查询联合字段
这是我的通用方法 package com.spark.bitrade.service.Base; import com.querydsl.core.Tuple; import com.
4237 0
|
6月前
|
SQL Java 数据库连接
MyBatisPlus-聚合查询、分组查询及等值查询
MyBatisPlus-聚合查询、分组查询及等值查询
838 0
|
6月前
|
SQL 数据库
联合查询(多表查询)
联合查询(多表查询)
52 0
|
6月前
|
JSON 自然语言处理 前端开发
4.高级查询
4.高级查询
|
6月前
|
SQL
深入了解关联查询和子查询
深入了解关联查询和子查询
62 0
|
关系型数据库 MySQL
MySQL查询之 联合主键
MySQL查询之 联合主键
227 0
|
JavaScript
简单的模糊查询
简单的模糊查询
65 0
联合查询和子查询
联合查询和子查询
基础DQL(数据查询)——聚合函数&分组查询
基础DQL(数据查询)——聚合函数&分组查询
125 0
基础DQL(数据查询)——聚合函数&分组查询