以查询用户列表为例
一.分页所需要的条件(假设可以查询用户或用户角色连表查询)
- (用户名/用户角色/当前页/每页显示条数/下一页/最后一页/总页数)
Dao层:
一.查询记录数
1.根据COUNT( 1 )查询当前查询条件的记录数
2.当用户名不为空传入模糊查询用户名sql为条件
3.当角色大于0传入用户角色查询条件sql为条件
4.执行sql返回记录数
二.查询用户列表
1.当用户不为空传入查询用户名sql为条件
2.当角色大于0传入用户角色查询条件sql为条件
3.分页limit传入分页sql为条件
4.由于展示页面的第N页(当前页)等于后端查询条件的(N-1)页 等到当前页currentPageNo = (currentPageNo - 1) * pageSize
5.执行sql将结果集添加到ArrayList
Impl层
一返回记录数
二.返回用户列表
servlet层
1.初始化页面大小/当前页面参数/当用户名为null传入""/当用户角色不为null且不为""传入用户角色/传入当前页面页码/传入页面总数
2.totalPageCount = ((int)(totalCount/pageSize))+1得到总页码
3.当当前页码小于1则当前页码等于1/当前页码大于总页码则等于总页码
4.根据条件返回列表req.setAttribute("userList", userList);到前端