我的类叫做tongxunlu,该类里有tname字段
<!-- 获得总条数 -->
<select id="queryRecordPageCount" resultType="int">
select count(tid) fromttongxunlu
<where>
<if test="tname!=null">
and tname like '%${tname}%'
</if></where> </select>
<!-- 分页 start是起始页,end是结束页-->
<select id="getRecordByPage" parameterType="hashMap"resultType="com.yanruan.ssm.pojo.Tongxunlu">
select * from (select rownum rw,t.* from ttongxunlu t
<where>
<if test="tname!=null">
and tname like '%${tname}%'
</if>
</where>
)where rw <=${start} and rw >${end}order by tid desc
</select>dao.java的代码
service.java,因为我的前端需要 共计条记录、共几页上一页 下一页这几个信息/** * 根据每页的起始条数和末尾条数查用户 * @return */ public List<Tongxunlu> getRecordByPage(Map map); /** * 获得总条数 */ public int queryRecordPageCount(Map map) ;
/** * 查询改页数下所有人员信息列表 * @param page * @param map * @return */ public List<Tongxunlu> getRecordByPage(int page,Map map); /** * 查询人员信息条数 * @return */ public int getRecordCount(Map map); /** * 查询人员信息共几页 * @return */ public int queryRecordPage(Map map);
serviceImpl.java,可以看到map里我放的是start和end,当要根据条件查找信息时,还要向map里放入条件
/** * 根据页数查询该页所有的人员信息 */ public List<Tongxunlu> getRecordByPage(int page, Map map) { // TODO Auto-generated method stub int count = tongxunluDao.queryRecordPageCount(map); // 起始条数,按照每页显示五条进行计算 int start = count - (page - 1) * 5; // 末尾条数 int end = start - 5; // 将start和end放入map中 map.put("start", start); map.put("end", end); return tongxunluDao.getRecordByPage(map); } /** * 查询人员信息一共多少页 */ public int queryRecordPage(Map map) { int count = tongxunluDao.queryRecordPageCount(map); // 如果总条数可以被5整除,那么页数等于count / 5 if (count % 5 == 0) { return count / 5; } else { // 若不能整除 则等于count / 5 + 1 return count / 5 + 1; } } public int getRecordCount(Map map) { // TODO Auto-generated method stub return tongxunluDao.queryRecordPageCount(map); }
controller.java
@RequestMapping("recordlist.do") public String userlist(String page, ModelMap model, String tname) { // 如果页数等于0或者为空,那么page=1 if ("".equals(page) || page == null) { page = "1"; } Map<String, String> map = new HashMap<String, String>(); if (!StringUtil.isNull(tname)) { map.put("tname", tname); model.addAttribute("TNAME", tname); } List<Tongxunlu> tList = ts.getRecordByPage(Integer.parseInt(page), map); int yema = ts.queryRecordPageCount(map); int count = ts.getRecordCount(map); // 页数 model.addAttribute("PAGE", page); model.addAttribute("COUNT", count); model.addAttribute("YEMA", yema); model.addAttribute("TLIST", tList); return "right"; }
注:在最开始进入列表的时候,传过来的page应该是个" ",或者null,这样,我们另page=1后进行跳转,这个方法里建立的map是模糊查找的时候用到的,若是不涉及可以去掉。模糊查找坐下来,在分页的时候有些问题,还没有解决
前端页面:
<div class="pagin"> <div class="message"> 共<i class="blue"><c:out value="${COUNT}"></c:out></i>条记录,当前显示第 <i class="blue"><c:out value="${PAGE}"></c:out> </i>页 </div> <ul class="paginList"> <li class="paginItem"><a href="recordlist.do?page=<c:out value='${(PAGE-1)<=0?1:(PAGE-1)}'/>"><span class="pagepre"></span></a></li> <li class="paginItem"><a href="recordlist.do?page=<c:out value='${(PAGE+1)>=YEMA?YEMA:(PAGE+1)}'/>"><span class="pagenxt"></span></a></li> </ul> </div>
ssm框架中的分页
最新推荐文章于 2021-02-01 19:22:43 发布