服务接口
PageInfo<User> selectObjects(Integer page, Integer rows, UserExample example);
服务实现层
public PageInfo<User> selectObjects(Integer page, Integer rows, UserExample example) {
// 1.开始分页
PageHelper.startPage(page, rows);
// 2.执行查询
List<User> list = userMapper.selectByExample(example);
// 3.返回结果
return new PageInfo<>(list);
}
controller层
public String selectObiects(HttpServletRequest request, @RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "3") Integer rows, String nickname, String username) {
// 创建查询条件对象
UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
// 设置条件
if (nickname != null && !"".equals(nickname)) {
criteria.andNicknameLike("%" + nickname + "%");
}
if (username != null && !"".equals(username)) {
criteria.andUsernameLike("%" + username + "%");
}
//获取登录的用户
User entity = (User) request.getSession().getAttribute("login_user");
//获取分页对象
PageInfo<User> pageInfo = us.selectObjects(page, rows, example);
//存储
request.setAttribute("pageInfo", pageInfo);
request.setAttribute("nickname", nickname);
request.setAttribute("username", username);
return "forward:userlist.jsp";
}
jsp页面
<tr>
<td colspan="4">
<nav aria-label="cms-page">
<ul class="pagination" id="cms_page"
data-page="${pageInfo.pageNum}">
<c:if test="${pageInfo.pageNum>1}">
<li class="page-item"><a class="page-link"
href="${pageContext.request.contextPath}/userlist?page=${pageInfo.pageNum-1}&username=${username}&nickname=${nickname}">上一页</a></li>
</c:if>
<c:forEach var="pageNum"
items="${pageInfo.navigatepageNums}">
<c:if test="${pageInfo.pageNum==pageNum}">
<li class="page-item active"><a class="page-link"
href="${pageContext.request.contextPath}/userlist?page=${pageNum}&username=${username}&nickname=${nickname}">${pageNum}</a></li>
</c:if>
<c:if test="${pageInfo.pageNum!=pageNum}">
<li class="page-item"><a class="page-link"
href="${pageContext.request.contextPath}/userlist?page=${pageNum}&username=${username}&nickname=${nickname}">${pageNum}</a></li>
</c:if>
</c:forEach>
<c:if test="${pageInfo.pageNum<pageInfo.pages}">
<li class="page-item"><a class="page-link"
href="${pageContext.request.contextPath}/userlist?page=${pageInfo.pageNum-1}&username=${username}&nickname=${nickname}">下一页</a></li>
</c:if>
</ul>
</nav>
</td>
</tr>
批量删除
public void deleteObjectByIds(Integer[] ids) throws Exception {
UserExample example = new UserExample();
example.createCriteria().andIdIn(Arrays.asList(ids));
userMapper.deleteByExample(example);
}