zoukankan      html  css  js  c++  java
  • 分页查询

    分页查询:

    将所需数据建立一个实体类PageBean

    需要获取当前页的值,并转为int类型

    String currentPageStr=request.getParameter("currentPage");
    Integer currentPage=Integer.parseInt(currentPageStr);

    获取每页显示的条数,或手动设置

    Integer currentCount=12;
    //Integer currentCount=request.getParameter("");

    调用service层方法

    PageBean<Product> page=productService.getPage(currentPage,currentCount);

    Service:

    PageBean<Product> page=new PageBean<Product>();
            //目的:封装一个PageBean返回给客户端
            //封装当前页
            page.setCurrentPage(currentPage);
            //每页条数
            page.setCurrentCount(currentCount);
            //封装总条数,count(*)
            int totalCount=0;
            try {
                totalCount=productDao.getTotalCount();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            page.setTotalCount(totalCount);
            //总页数: 总条数/每页显示条数, *1.0向上取整
            int totalPage=(int) Math.ceil(totalCount*1.0/currentCount);
            page.setTotalPage(totalPage);
            //每页显示的条数
            // 起始页=(当前页-1)*每页显示条数
            // 1,0,12        2,12,12          3,24,12       S=(n-1)*a
            //计算起始页的索引
            int index=(currentPage-1)*currentCount;
            List<Product> list=null;
            //根据索引取值
            try {
                list=productDao.getProductByPage(index, currentCount);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            page.setList(list);
            return page;
            }

    Dao层: select * from product limit ?,?

     条件查询:

    QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
            String sql="select * from product where 1=1 "; 
            ArrayList<String> list=new ArrayList<String>();
            //拼串
            if (condition.getPname()!=null&&condition.getPname().trim()!=""){//先判断不为空,再判断是否为空串
                sql+=" and pname like ?";
                list.add("%"+condition.getPname()+"%"); //添加进集合
            }
            if(condition.getCid()!=null &&condition.getCid()!=""){
                sql+=" and cid=?";
                list.add(condition.getCid());
            }
            if(condition.getIs_hot()!=null&& condition.getIs_hot()!=""){
                sql+=" and is_hot=?";
                list.add(condition.getIs_hot());
            }
            List<Product> arr=qr.query(sql, new BeanListHandler<Product>(Product.class),
                    list.toArray());   //toArray()可为空
            return arr;
  • 相关阅读:
    Excel基础—文件菜单之创建保存
    Excel技巧—名称框的妙用
    Excel基础—文件菜单之设置信息
    Excel基础—文件菜单之打印共享账户
    Excel基础—文件菜单之设置选项
    Excel基础—工作界面概述
    linux环境下pathinfo 工作失败的改进函数
    javascript为网页元素绑定click事件
    将纯真ip数据库解析并导入mysql数据库中
    pgsql导入和导出数据
  • 原文地址:https://www.cnblogs.com/god3064371/p/11872036.html
Copyright © 2011-2022 走看看