基于增删查改功能的,用户列表分页显示、搜索功能实现
2020-07-23 20:56
211 查看
改动代码:
一、bean.PageInfo代码:
//PageInfo.java public class PageInfo<T> { //存储用户列表 private List<T> list; //单页的数据项数量 private int size; //总页数 private int totalPage; //数据项总数 private int totalCount; //当前页数 private int currentPage; public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } @Override public String toString() { return "PageInfo{" + "list=" + list + ", size=" + size + ", totalPage=" + totalPage + ", totalCount=" + totalCount + ", currentPage=" + currentPage + '}'; } }
二、UserDao中新增getTotalCount,修改findAll:
//UserDao.java public interface UserDao { User findByUserName(String username); //List<User> findAll(); //显示在同一页的UserList List<User> findAll(@Param("start") int start,@Param("username") String username); void add(User user); void deleteByID(int id); User selectByID(int id); void update(User user); //获取搜索的总数 int getTotalCount(@Param("username")String username); }
三、UserMapper新增sql语句
<mapper namespace="com.whut.dao.UserDao" > <select id="findAll" resultType="User"> select * from user <if test="username!=null and username!=''"> where username like concat("%",#{username},"%") </if> limit #{start},5 </select> <select id="getTotalCount" resultType="int"> select count(*) from user <if test="username!=null and username!=''"> where username like concat("%",#{username},"%") </if> </select> </mapper>
四、更新在UserServiceImpl.java与UserController.java中的findAll方法:
//UserServiceImpl.java @Override public PageInfo<User> findAll(int currentPage, String username) { PageInfo<User> pageInfo = new PageInfo<>(); pageInfo.setSize(5); //获取总共的记录条数 int tc = userDao.getTotalCount(username); //获取总页数 int tp = (int)Math.ceil(tc/5.0); pageInfo.setTotalCount(tc); //设置页数的范围 if(currentPage<1){ pageInfo.setCurrentPage(1); }else if(currentPage>tp){ pageInfo.setCurrentPage(tp); }else{ pageInfo.setCurrentPage(currentPage); } int start = (pageInfo.getCurrentPage()-1)*5; List<User> userList = userDao.findAll(start,username); pageInfo.setList(userList); return pageInfo; }
//UserController.java @RequestMapping("/findAll.do") public ModelAndView findAll(@RequestParam(defaultValue = "1")int currentPage, String username, @RequestParam(defaultValue = "0")int type, HttpSession httpSession){ if(type==1){ httpSession.setAttribute("searchName",username); }else{ username=(String) httpSession.getAttribute("searchName"); } PageInfo<User> pageInfo = userService.findAll(currentPage,username); ModelAndView mv = new ModelAndView(); mv.addObject("pageInfo",pageInfo); mv.setViewName("user-list"); return mv; }
六、新增 user-list.jsp:
<form action="${pageContext.request.contextPath}/user/findAll.do?type=1" method="post"> <div class="col-md-4 data1"> <input type="text" class="form-control" name="username" placeholder="username" value=""> </div> <button type="submit" class="btn bg-maroon">搜索</button> </form> <div class="box-tools pull-right"> <ul class="pagination"> <li><a href="/user/findAll.do" aria-label="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-label="Next">尾页</a></li> </ul> </div>
注:本文根据线上实习内容编写,如有雷同纯属同老师
相关文章推荐
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- SSM框架实现一个用户系统(登录,用户列表,分页,增删改查,用户角色管理功能)
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- web分页显示功能(“小案例:实现web端对客户资源的增删改查”里面的一个功能)
- 百词斩英语单词小助手(主要实现英语单词学习的功能。用户可对词典文件中的单词进行预览,增删改查。同时还可进行中英、英中测试。本系统还提供了测试成绩的显示功能。)
- 基于jQuery实现动态搜索显示功能
- 实习第七天——新用户管理系统的分页显示、增加、更新用户功能实现、SQL清空自增值
- 基于PHP实现数据分页显示功能
- 监听器--显示登陆用户列表,并实现踢人功能
- MyBatis实现用户的动态搜索分页等功能(1)
- 基于java的微信小程序的实现(十)用户搜索及热搜词相关功能后端实现
- MyBatis实现用户的动态搜索分页等功能(5)
- 基于SSM实现分页查询和显示功能
- 如何用c:if实现同一个jsp中,根据不同登录用户来显示不一样的列表或者功能。