由于组内要求做一个简单的查询页面,继整合mybatis之后又有一个分页功能。搜了下mybatis分页功能,基本是通过拦截器来拦截带有分页要求的sql请求,由于我个人对拦截器理解不足,加上需要更改配置文件等等,先自己模拟了个分页功能,具体思路是通过mysql自带的limit来进行指定位置指定数目的查询。
首先说下limit的用法,很简单,有两个参数的情况下 limit param1,param2; 代表截取检索结果从第param1为止开始的param2个条目,这里就用到了这个用法。
service层需要两个函数来支持:queryByConditions和queryCountByConditions,即按照条件查找信息列表和按照条件获取数目。
public List<EleAccount> queryByConditions(String dueBillNo, String idNo, String custName, int location, int offset); public int queryCountByConditions(String dueBillNo, String idNo, String custName);
其中获取检索列表比获取数目多了两个参数:location和offset。location是根据前台传来的页码加上每页数目算出的检索起始位置,offset是每页显示数目,自己设定。