数据结构域算法设计-ssh动态查询封装教案

数据结构域算法设计-ssh动态查询封装教案

ID:18617914

大小:116.50 KB

页数:8页

时间:2018-09-20

数据结构域算法设计-ssh动态查询封装教案_第1页
数据结构域算法设计-ssh动态查询封装教案_第2页
数据结构域算法设计-ssh动态查询封装教案_第3页
数据结构域算法设计-ssh动态查询封装教案_第4页
数据结构域算法设计-ssh动态查询封装教案_第5页
资源描述:

《数据结构域算法设计-ssh动态查询封装教案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SSH动态查询封装接口介绍1.查询记录总条数publicintcount(Classc,Object[][]eq,Object[][]like,String[]group,String[]asc,String[]desc);2.分页动态查询记录publicListsearch(Classc,Object[][]eq,Object[][]like,String[]group,String[]asc,String[]desc,intstart,intlimit);首先介绍两个查询接口的公有参数:Classc:bean.class,即映射到

2、你查询的表结构的实体类Object[][]eq:精确查询的参数name和value集合{{name,”小明”},{code,”TB321”},...}Object[][]like:模糊查询的参数name和value集合{{startTime,”2013-10”},{name,”小”},...}String[]group:要分组的参数name列表String[]asc:对查询结果升序排列所需的参数name集合String[]desc:对查询结果降序排列所需的参数name集合这里提到的name非数据库字段名,而是bean的属性名,当然如果存在表

3、关联,以用户和职位为例,User和Dept关联,存在Deptdept;则如果要查询职位名为xxx的所有User,name可填写为dept.name,eq某一集合可填写为{”dept.name”,”xxx”}分页动态查询记录独有的接口参数:intstart:从第几条记录开始查询intlimit:本页查询的最大记录数参数列表除Classc不可为空外,其余参数皆可为空。对集合参数中的不法数据(子集合填写不完整、参数为nullor“”实现自动过滤)根据你的不同需求使用接口相应参数,以合同表为例:精确查询:根据合同编号、合同名称、客户代表等精确信息实

4、现查询模糊查询:根据合同签订、生效、失效、制表年、月、日等模糊时间,部分合同名称等不精确参数实现查询组合查询:根据页面需求在action获取相应参数(页面参数统一使用String接收,避免int出现默认为0的情况发生。在action使用Object对所获value进行统一类型设置),根据不同的参数进行单个、多个条件的组合查询。意义:简化代码,所有类(表结构)的查询都可组合使用这两个接口。便于维护,一旦查询需求有改动,只需更改页面参数和action接收参数即可不足:未实现比较范围(>=

5、平均值)的特殊查找。此类查询非公有故弃之.下一章介绍接口的具体实现(qiyue)SSH动态查询具体实现之service先贴代码:publicinterfaceSnippetService{publicintcount(Classc,Object[][]eq,Object[][]like,String[]group,String[]asc,String[]desc);PublicListsearch(Classc,Object[][]eq,Object[][]like,String[]group,String[]asc,String[]

6、desc,intstart,intlimit);}service接口如上所示,具体参数详见上文。下面介绍serviceImpl:SnippetServiceImpl@Component("snippetServiceImpl")publicclassSnippetServiceImplimplementsSnippetService{@Resource(name="snippetDao")privateSnippetDaosd;SnippetServiceImpl是SnippetService的具体实现,首先引入dao层的东东Snippet

7、Daosd(关于dao的一些接口方法,本文只介绍其作用),publicintcount(Classc,Object[][]ob,Object[][]like,String[]group,String[]asc,String[]desc){StringBufferhql=newStringBuffer("from"+c.getSimpleName()+"j");Stringq=sd.getHQL(ob,like,group,asc,desc);//得到完整hqlif(!"".equals(q)&&q!=null){hql.append("wh

8、ere");hql.append(q);}//参数值集合Object[]param=sd.getValue(ob,like).toArray();returnsd.count(h

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。