• 使用mybatis实现分页查询示例代码分析


    *******************************************分页查询开始***************************************************
            /**
             * 多参传入的方法:
             *     1:多个不同类型的参数入参时,映射文件中可以不指定参数类型,
             *        接口中的方法使用注解,将注解指定的名字,传入映射文件相应属性中
             *     2:也可以把多个参数封装成对象,以对象类型入参
      * 分页查询
      * @param from  从第几条开始查...
      * @param pagesize  每页显示的记录数
      * @return  当前页对象的集合
      */
      public List<User> fenye(@Param("from")Integer from,@Param("pagesize")Integer pagesize);
    ******************
             <select id="fenye" resultType="entity.User">
      SELECT * FROM users u
      INNER JOIN role r ON u.`roleid`=r.`roleid`
                    LIMIT #{from} ,#{pagesize}
      </select>
    *****************************
             /**
       * 查询总记录数
       */
      public Integer count();
    ******************
             <select id="count" resultType="Integer">
      SELECT count(*) FROM users
      </select>

    *****************************
        protected void service(HttpServletRequest req, HttpServletResponse res)
       throws ServletException, IOException {
      req.setCharacterEncoding("utf-8");
      res.setContentType("text/html;charset=utf-8");
      
      SqlSession session=MybatisUtil.getSession(); //获得mybatis的session对象
      try {
       Integer pagesize=3; //每页显示的记录数
       Integer page=null;  //当前页
       String pageQian=req.getParameter("page");
       if(pageQian !=null){
        page=Integer.parseInt(pageQian);
       }else{
        page=1;  //默认看第一页
       }
       /*
        * 数据库查询总页数
        */
       Integer count=session.getMapper(UserMapper.class).count();
       int totalyeshu=0;    //总页数
       if(count%pagesize==0){
        totalyeshu=count/pagesize;
       }else{
        totalyeshu=(count/pagesize)+1;
       }
       /*
        * 数据库查询当前页的数据
        */
       List<User> userList=session.getMapper(UserMapper.class).fenye((page-1)*pagesize, pagesize);
                            /*
        * 将数传给前台
        */
       req.setAttribute("USERLIST", userList);  //集合数据
       req.setAttribute("PAGE", page);  //当前页
       req.setAttribute("COUNT", totalyeshu);  //总页数
      } catch (Exception e) {
       e.printStackTrace();
      }finally{
       MybatisUtil.closeSession(session);
      }
      req.getRequestDispatcher("indexFenye.jsp").forward(req, res); //转发至主页
       }
    *****************************
       <div>
          <h3 algin="right">
            &lt;
              <span style="font-size:12px;">共${COUNT }页 &nbsp;/&nbsp;第${PAGE}页   &nbsp;</span>
              <c:if test="${PAGE>1 }">
                    <a href="fenye?page=1">首页</a>&nbsp;
                    <a href="fenye?page=${PAGE-1}">上页</a>&nbsp;
              </c:if>
              <c:forEach begin="1" end="${COUNT }" var="i">
                 <a href="fenye?page=${i}" >${i}</a>
              </c:forEach>
              <c:if test="${PAGE<COUNT }">
                   <a href="fenye?page=${PAGE+1}">下页</a>&nbsp;
                   <a href="fenye?page=${COUNT}">尾页</a>&nbsp;
              </c:if>
         
              <span style="font-size:12px;">GO</span>&nbsp;
              <select id="goTo" onchange="goPage(this.value)" >
                 <c:forEach  begin="1" end="${COUNT }" var="i" >
                      <option value="${i }" ${i==PAGE?"selected='selected'":"" } >${i }</option>
                 </c:forEach>
              </select>
              &nbsp;<span style="font-size:12px;">页</span>
           &gt;
         </h3>
         <script>
            function goPage(page){
                window.location.href="fenye?page="+page;
            }
         </script>
       </div>

    *******************************************分页查询结束***************************************************

  • 相关阅读:
    女生“不愁嫁”的10大专业,有地位有面子!
    中国南北方文化差异分析比较
    跨代的对决 英特尔i7-6700HQ对比i7-4720HQ性能测试
    差之毫厘谬之千里!带你认识CPU后缀含义
    机器学习及其应用2013, 机器学习及其应用2015
    mysql中替换行首字符
    北京长途汽车站一览表
    IQ一个人的智力和对科学知识的理解掌握程度。 EQ对环境和个人情绪的掌控和对团队关系的运作能力。 AQ挫折商 一个人面对困境时减除自己的压力、渡过难关的能力。
    金融是现代经济的主要行业,因此金融类企业对学历的要求也就高,但同时金融类企业的工资也是比较高的。比如证券业、银行业,这些行业的工资都是处于领先地位的。名校金融毕业生的收入不菲早已不是什么秘密。而且,金融专业毕业生平均起点工资和平均定级工资已位列前端,排在曾经风光无限的IT业等行业之前。
    Basic Authentication in ASP.NET Web API
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/9256732.html
Copyright © 2020-2023  润新知