(1)ssm分页
①UserDao.java注册方法
int getTotalCount(@Param("username")String username);
②UserMapper.xml数据库语句
<select id="getTotalCount" resultType="int">
select count(*)from tb_user
<if test="username!=null and username!=''">
where username like concat("%",#{username},"%")
</if>
</select>
③user-list.jsp界面代码
<!-- /.box-footer-->
<div class = "box-tools pull-right">
<ul class="pagination">
<li><a href="/user/findAll.do" aria-lable="Previous">首页</a> </li>
<li><a href="/user/findAll.do?currentPage=${pageInfo.currentPage-1}">上一页</a> </li>
<c:forEach begin = "1" end = "${pageInfo.totalPage}" var="pageNum">
<li><a href="/user/findAll.do?currentPage=${pageNum}">${pageNum}</a> </li>
</c:forEach>
<li><a href="/user/findAll.do?currentPage=${pageInfo.currentPage+1}">下一页</a> </li>
<li><a href="/user/findAll.do?currentPage=${pageInfo.totalPage}" aria-lable="Next">尾页</a> </li>
</ul>
</div>
(2)ssm模糊搜索
①UserDao.java注册方法
List<User> findAll(@Param("start") int start,@Param("username")String username);
②UserService.java注册方法
PageInfo<User> findAll(int currentPage,String username);
③UserServiceImpl.java实现方法
@Override
public PageInfo<User> findAll(int currentPage,String username){
PageInfo<User> pageInfo = new PageInfo<>();
pageInfo.setSize(5);
//tc为查询数据的总行数
int tc = userDao.getTotalCount(username);
pageInfo.setTotalCount(tc);
//tp为总页数
int tp = (int)Math.ceil(tc/5.0);
pageInfo.setTotalPage(tp);
if(currentPage<1){
pageInfo.setCurrentPage(1);
}else if(currentPage>tp){
pageInfo.setCurrentPage(tp);
}else{
pageInfo.setCurrentPage(currentPage);
}
//0,5,10,15...
int start = (pageInfo.getCurrentPage()-1)*5;
List<User> userList = userDao.findAll(start,username);
pageInfo.setList(userList);
return pageInfo;
}
④UserMapper.xml数据库语句
<select id="findAll" resultType="user">
select * from tb_user
<if test="username!=null and username!=''">
where username like concat("%",#{username},"%")
</if>
limit #{start},5
</select>
⑤UserController.java实现方法
@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1")int currentPage, String username,
@RequestParam(defaultValue = "0")int type, HttpSession session){
if(type==1){
session.setAttribute("searchName",username);
}else{
username=(String) session.getAttribute("searchName");
}
PageInfo<User> pageInfo = userService.findAll(currentPage, username);
ModelAndView mv = new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
模糊查询用户名包含a的所有用户信息