需求是这样的,一个业务模块有三个TAB页,分别为简单查询、高级查询、导出。
简单查询:几个常用的、固定的条件的查询;
高级查询:用户可编辑条件的个数,以及条件之间是与、或的关系;
导出:根据用户导出的结果,选择开始、结束记录号进行导出,当然可以导出txt或者excel
结果列有根据列名排序、记录导出的功能,所以要记录查询条件(queryCondition),即把查询条件有记录到request中,排序、导出时就不在构建查询条件,当然这样也有不足,就是依赖于查询条件(queryCondition)这个字符串,而没有在查询结果列表中把查询的条件解析开来,用户看不到他上次输的条件,比较失败.但记录了查询条件,可以做一些重复下载的操作,这个设计还是很好的。
由于查询条件(queryCondition)有时会保存到DB中,为了安全,在往request里set之前加密,
queryCondition = new String(Base64.encodeBase64(
queryCondition.getBytes(), false));
取出时解密:
queryCondition = (String) dynaBean.get("queryCondition");
queryCondition = new String(Base64.decodeBase64(
queryCondition.getBytes()));
加密后的串在URL作为参数传递时有时候会有因为有特殊字符而报错,这时用javascript提供的URI编码就可以了,在服务器端直接就可以得到完整的数据。
encodeURIComponent('${queryCondition}')
下面是根据一个最大值,最小值、查询条件取记录的SQL
<select id="getExportTxtDate" parameterClass="java.util.Map"
resultClass="magazineBean" remapResults="true">
SELECT * FROM ( SELECT list.*, rownum as RNUM FROM (
select * from (
select b.id as id
,a.CorpID as corpID
,a.CORP_PROVINCENO as provinceNo
,a.Corp_chineseName as chineseName
,b.cn as cn
,b.issn as issn
,c.Corp_chineseName as directorCorpName
,a.Corp_sponsorCorp as sponsorCorp
,b.proprieter as proprieter
,b.editor as editor
,f.Corp_linkTel as linkTel
,f.Corp_fax as fax
,b.Post_id as postId
,e.issue_way as issueWay
,b.Size_num as sizeNum
,b.issued_period as issuedPeriod
,f.Corp_address as address
,f.Corp_postCode as postCode
,b.Year_price as yearPrice
,b.Create_date as createMagazineDate
,a.Corp_tenet as tenet
,a.Corp_englishName as englishName
,a.Corp_legalPerson as legalPerson
,a.Corp_chargeMan as chargeMan
,a.Corp_createDate as createDate
,a.Corp_divide as divide
,d.AreaCode_all as areaCodeAll
from Corp_info a
,Corp_Magazine b
,Corp_info c
,Corp_AreaCode d
,Corp_issue_way e
, (select * from Corp_linkPersonInfo where id in (select max(id) from Corp_linkPersonInfo group by corpID)) f
where a.CorpID=b.CorpID
and a.Corp_directorCorpID=c.CorpID(+)
and a.Corp_provinceNO=d.id(+)
and b.issue_way_id=e.id(+)
and a.CorpID=f.CorpID(+)
) where 1=1
<isNotEmpty prepend="AND" property="queryCondition">
( $queryCondition$ )
</isNotEmpty>
ORDER BY $orderColumn$ $orderType$ ) list WHERE ROWNUM <=
#maxRow# ) WHERE RNUM >= #minRow#
分享到:
相关推荐
javaweb毕业设计-JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+lw)(可做课程设计).rarjavaweb毕业设计-JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+lw)(可做课程设计)....
适合练手、课程设计、毕业设计的Java项目源码:WML信息查询设计(源代码+论文).rar 适合练手、课程设计、毕业设计的Java项目源码:WML信息查询设计(源代码+论文).rar 适合练手、课程设计、毕业设计的Java项目源码:...
java毕业设计——javaWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文).zip java毕业设计——javaWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文).zip java毕业设计——...
JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文)JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文)JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源...
JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文) JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文) JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源...
JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+LW)JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+LW)JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+LW...
JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+lw).rarJAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+lw).rarJAVAWML信息查询与后端信息发布系统实现——WML信息查询设计...
JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+毕设文档).zip JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+毕设文档).zip JAVAWML信息查询与后端信息发布系统实现——WML...
基于php+mysql学生成绩查询设计与实现源码+数据库(高分优秀毕业设计)个人经导师指导并认可通过的高分毕业设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为...
基于Android平台的电子课表查询设计与实现毕业设计论文 基于Android平台的电子课表查询设计与实现毕业设计论文是一篇关于移动应用程序开发的论文,论文主要介绍了基于Android平台的电子课表查询设计与实现的整个...
基于JAVA的图书查询设计 本文介绍了基于JAVA的图书查询设计,使用JAVA语言和MySQL数据库实现了一个图书查询工具。该工具提供了图书馆最常用的图书查询功能,界面简洁,使用方便,并具有较好的可移植性。 知识点: ...
"数据库原理实验报告 - 实验六 分组统计查询和集合查询设计.doc" 是一份专注于数据库高级查询技术——分组统计查询与集合查询设计的实验报告。本实验旨在通过实践操作,加深学生对SQL语言中GROUP BY子句、聚合函数...
"数据库原理实验报告 - 实验四 查询设计实验.doc" 是一份专注于数据库查询设计与优化的教学实验报告,旨在通过实践环节深化学生对SQL查询语言的理解和应用能力。本实验报告不仅覆盖了基本的SELECT查询语句使用,还...
Access 2010数据库案例教程的第4章主要探讨了查询设计,这是数据库管理和数据分析的重要环节。查询是根据特定条件从数据库中检索信息的一种手段,它可以是单一表查询,也可以涉及多个表的复杂查询。在Access 2010中...
"数据库原理实验报告 - 实验五 嵌套子查询设计实验.doc" 是一份聚焦于数据库查询语言中嵌套子查询设计与应用的深度实验报告。本实验旨在通过一系列精心设计的实践任务,帮助学生深入理解嵌套子查询的概念、语法结构...
基于Android平台的电子课表查询设计与实现是计算机毕业设计的重要主题,该设计旨在开发一个基于Android平台的电子课表查询系统,旨在提供一个方便、实用的课表查询平台,满足用户的需求。该设计采用Java和Android的...
查询设计是Access的核心功能之一,它允许用户根据特定条件从一个或多个表中检索数据。本篇文章将详细探讨Access应用基础中的查询设计及其重要性。 首先,我们要了解查询的基础知识。查询是根据用户指定的条件在...
本项目是基于C#的快递100接口API查询设计源码,包含89个文件,主要文件类型为cs、gitignore、csproj和md。该项目适用于快递100接口API的开发和设计,为用户提供了一个丰富的资源库,包含多种文件类型,方便进行快递...