• 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • Java分页实现

    快乐彩开奖号码 www.752o.com 首先我们要清楚java分页的思路

    第一我们要明白前端页面需要向java后台传递当前页码数以及每页显示多少条数据

    第二java后台代码需要向前端页面传递每页显示的数据,以及总条数以及总页数

     

     

    代码如下:

     

    首先我们要创建一个分页类用来存储数据

    public class PageObject<T> implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 当前页的页码值 */
    private Integer pageCurrent = 1;
    /** 页面大小 */
    private Integer pageSize = 10;
    /** 总行数(通过查询获得) */
    private Integer rowCount = 0;
    /** 总页数(通过计算获得) */
    private Integer pageCount = 0;
    /** 当前页记录 */
    private List<T> records;

    public Integer getPageCurrent() {
    return pageCurrent;
    }

    public void setPageCurrent(Integer pageCurrent) {
    this.pageCurrent = pageCurrent;
    }

    public Integer getPageSize() {
    return pageSize;
    }

    public void setPageSize(Integer pageSize) {
    this.pageSize = pageSize;
    }

    public Integer getRowCount() {
    return rowCount;
    }

    public void setRowCount(Integer rowCount) {
    this.rowCount = rowCount;
    }

    public Integer getPageCount() {
    pageCount = rowCount / pageSize;
    if (rowCount % pageSize != 0) {
    pageCount++;
    }
    return pageCount;
    }

    public void setPageCount(Integer pageCount) {
    this.pageCount = pageCount;
    }

    public List<T> getRecords() {
    return records;
    }

    public void setRecords(List<T> records) {
    this.records = records;
    }

    @Override
    public String toString() {
    return "PageObject [pageCurrent=" + pageCurrent + ", pageSize=" + pageSize + ", rowCount=" + rowCount
    + ", pageCount=" + pageCount + ", records=" + records + "]";
    }

    }

     

     

    Controller层方法:

     

    @RequestMapping("/getLog")
    @ResponseBody

    public PageObject<SysLog> getLog(@RequestBody Map<String, Object> param) throws ParseException {
    System.out.println("Map集合参数" + param);
    String user = (String) param.get("user");
    String date = (String) param.get("date");
    Date parse=null;
    if(date!=null) {

    SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    parse= dFormat.parse(date); // Date date = (Date) param.get("date");
    }

    System.out.println("解析后日期格式" + parse);

    int pageCurrent = Integer.parseInt("" + param.get("pageCurrent"));
    int pageSize = Integer.parseInt("" + param.get("pageSize"));

    if (pageCurrent == 0) {
    pageCurrent = 1;
    }
    if (pageSize == 0) {
    pageSize = 10;

    }

    return logService.getLog(pageCurrent, pageSize, user, parse);
    }

     

    Service层代码:

     


    @Autowired
    SysLogDao logdao;


    /***
    * 根据日期或者用户查询
    */
    @Override
    public PageObject<SysLog> getLog( int pageCurrent, int pageSize,String user,Date date) {
    PageObject<SysLog> pageObject = new PageObject<SysLog>();
    // 设置当前页
    pageObject.setPageCurrent(pageCurrent);
    // 设置每页显示的条数
    pageObject.setPageSize(pageSize);
    // 设置总记录数

    Map<String, Object> map=new HashMap<String, Object>();
    map.put("user", user);
    map.put("date", date);
    int count = logdao.getLogCount(user,date);
    System.out.println("=============");
    System.out.println("总条数"+count);
    pageObject.setPageCount(count);
    // 设置总页数
    int page = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
    pageObject.setRowCount(page);
    // 设置每页显示数据集合
    // 开始的记录数
    int start = (pageCurrent - 1) * pageSize;
    System.out.println(start+"-"+pageSize);


    List<SysLog> byPage = logdao.getLog( start, pageSize,user,date);

    pageObject.setRecords(byPage);
    System.out.println(start+"-"+byPage);
    return pageObject;

    }

     

    Mapper.xml代码如下:

     



    <!-- 查询总条数 -->
    <select id="getLogCount" resultType="int">
    select count(*) from sys_login_log
    <where>
    <if test="user !=null">
    and login_user=#{user}
    </if>
    <if test="date !=null ">
    and log_date=#{date}
    </if>
    </where>

    </select>
    <!-- 查询每页显示条数 -->
    <select id="getLog" resultType="SysLog" >
    select * from sys_login_log
    <where>
    <if test="user!=null">
    and login_user=#{user}
    </if>
    <if test="date !=null ">
    and log_date=#{date}
    </if>
    </where>

    limit #{start},#{pageSize}
    </select>

     

    posted @ 2019-03-16 23:44 张小振的博客 阅读(...) 评论(...) 编辑 收藏
  • 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 安徽25选5中安在线 2011热火vs凯尔特人 3d关注码金码家彩网 35选7几点开奖 海底总动员国语 我叫mt4级符文怎么置换 加拿大快乐8预测 新11选5任选8中奖 动物足球为主题的作文 御龙在天马装怎么合成 吉林时时彩网站 广东福利彩票36选7走势图 浙江排列三和值走势图 蒋方舟图片 魂斗罗归来最新cdk 非常幸运网算命