搜索与分页

只要太阳在,我就一直在.

---幸运皮

好久不写笔记了,不行不行,再不写就堕落了,哈哈.最近这几天写的分页比较多,昨天又做了一个搜索,把思路和核心代码记录一下.

首先说搜索吧,因为搜索主要是说说思路:

一.搜索.

以前的时候,做搜索,把搜索条件放到session里面,总觉得在写这样写的时候,是在偷着写,因为觉得,除了session里面放搜索条件外,肯定还有更标准的实现方式.正好昨天那么多大神都在,顺口问了一声,原来,小大神也是这样实现的,所以,我对自己以前的做法做了一下肯定.总结一下,就是这样:

ps: 一般在做应用的时候,index作为一页,展示为一页,有人把展示和index放在一起,这样最好不要,容易混乱.

首先,当用户输入搜索条件后,先把这些查询条件记录下来,也就是,放到session里面,记录查询条件,每次显示的时候,在session里面取值进行查询.

二.分页.

记得,一年前,做分页,小叶说:特别简单,我当时愁的要命,觉得,如果能写出分页程序来,那肯定就是大神了,现在看来,能写出分页程序的真的不一定是大神,哈哈.

分页其实很简单(现在来说),不过,对于分页来说,我们要考虑两种情况:

(一)较少数据分页

这种情况下,无所谓啦,把所有的数据一次性放到内存中,然后分页的时候再从其中取其实也是没关系的.

(二)较大数据量

对于这种情况,肯定是要考虑分页时候,内存中只加载当前页的数据了,我到现在接触到的有两种方法,一个是用sql语句中自带的方法加载(如:mysql中,用limit查询),另一个是用框架,接触到的有hibernate的分页查询功能.

而对于分页来说,其实无非就是这样:

int curpage = 0;//当前页 int pagesize = 20;//每页显示的条数 int from; int allrows;//所有的条数 int allpages;//共多少页 allrows = AlumnusDAO.getRowsNumByInquiry(username); allpages = allrows%pagesize==0?allrows/pagesize:allrows/pagesize+1;//共多少页 curpage = curpage<allpages?curpage:allpages; curpage = curpage==0?1:curpage; alulist = AlumnusDAO.getAllByInquiry(username,curpage,pagesize);
这样的话,类似一个工具了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值