分页工具类PageBean.java

package org.activeii.activeii.app.person.util;

import java.util.List;

public class PageBean<T> {
    private int pageIndex;// 当前页数
    private int pageSize;// 一共的页数
    private int count;// 数据条数
    private int pageCount;// 每页的数据条数
    private int start;// 起始数据位置
    private int end;// 结束
    private List<T> list = null;

public void init() {
        /*
         * 根count 和pageCount计算页数pageSize
         */
        int pageSize_x = (int) count / pageCount;
        if (count >= pageCount) {
            this.pageSize = count % pageCount == 0 ? pageSize_x : pageSize_x + 1;
        } else {
            this.pageSize = 1;
        }
        // 判断页数和当前页数
        if (pageIndex > pageSize) {
            pageIndex = pageSize;
        }
        if (pageIndex < 1) {
            pageIndex = 1;
        }
        // 根据当前页计算起始和结束条目
        this.start = (pageIndex - 1) * pageCount + 1;
        this.end = pageIndex * pageCount;
    }

public PageBean(int pageIndex, int count, int pageCount) {
        super();
        this.pageIndex = pageIndex;
        this.count = count;
        this.pageCount = pageCount;
    }

public PageBean(int pageIndex, int count, int pageCount, List<T> list) {
        super();
        this.pageIndex = pageIndex;
        this.count = count;
        this.pageCount = pageCount;
        this.list = list;
    }

public PageBean() {
        super();
        // TODO Auto-generated constructor stub
    }

@Override
    public String toString() {
        return "PageBean [count=" + count + ", end=" + end + ", result=" + list + ", pageCount=" + pageCount
                + ", pageIndex=" + pageIndex + ", pageSize=" + pageSize + ", start=" + start + "]";
    }

public int getPageIndex() {
        return pageIndex;
    }

public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }

public int getPageSize() {
        return pageSize;
    }

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

public int getCount() {
        return count;
    }

public void setCount(int count) {
        this.count = count;
    }

public int getPageCount() {
        return pageCount;
    }

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

public int getStart() {
        return start;
    }

public void setStart(int start) {
        this.start = start;
    }

public int getEnd() {
        return end;
    }

public void setEnd(int end) {
        this.end = end;
    }

public List<T> getList() {
        return list;
    }

public void setList(List<T> list) {
        this.list = list;
    }
}
mapper层

<sql id="financialColumns">
        a.id AS "id",
        a.identification AS "identification",
        a.qualification_classify AS "qualificationClassify",
        a.qualification_num AS "qualificationNum",
        a.company AS "company",
        a.city_location AS "cityLocation",
        a.good_field AS "goodField",
        a.personal_profile AS "personalProfile",
        a.qualification_status AS "qualificationStatus",
        a.apply_time AS "applyTime",
        a.authentication_time AS "authenticationTime",
        a.account AS "account"
    </sql>

<select id="queryListPage"
        parameterType="java.lang.Integer" resultMap="financialResult">
        select
        <include refid="financialColumns" />
         from yryz_financial a limit #{start},#{end}
    </select>

dao层

public List<Financial> queryListPage(@Param("start") int start, @Param("end") int end);

service层

public List<Financial> queryListPage(int start, int end);

service impl层

public PageInfo<Financial> queryFinancialList(FinancialDto financialDto){
        PageHelper.startPage(financialDto.getPageNo(), financialDto.getPageSize());
        List<Financial> list = financialDao.queryAll();
        PageInfo<Financial> page = new PageInfo<Financial>(list);    
        return page;
    }

controller层

@ResponseBody
    @GET
    @Path("/finalistPage/{start}/{end}")
    public Map<String, Object> pageCount(@PathParam("start") int start, @PathParam("end") int end) {
        Map<String, Object> map = new HashMap<String, Object>();
        if (start < 0) {
            start = 0;
        }
        if (end < 0) {
            end = 1;
        }
        int pageIndex = 0;
        PageBean<Financial> pb = new PageBean<Financial>(pageIndex, financialService.selectCount(), 2);
        pb.init();
        List<Financial> financiallist = financialService.queryListPage(start, end);
        if (null != financiallist && financiallist.size() > 0) {
            pb.setList(financiallist);
            map.put("data", pb);
            map.put("message", "success");
        } else {
            map.put("message", "fail");
        }
        return map;
    }

结果

{
    "data": {
        "count": 3,
        "end": 2,
        "list": [
            {
                "account": "KM",
                "appName": "activeii",
                "applyTime": 1489614237000,
                "authenticationTime": 1489614237000,
                "cityLocation": "KM1",
                "company": "KM1",
                "goodField": "KM1",
                "id": 2,
                "identification": "KM1",
                "personalProfile": "KM1",
                "qualificationClassify": "KM1",
                "qualificationNum": "KM1",
                "qualificationStatus": 1,
                "revision": 1
            },
            {
                "account": "KM3",
                "appName": "activeii",
                "applyTime": 1489619727000,
                "authenticationTime": 1489619727000,
                "cityLocation": "KM3",
                "company": "KM3",
                "goodField": "KM3",
                "id": 3,
                "identification": "KM3",
                "personalProfile": "KM3",
                "qualificationClassify": "KM3",
                "qualificationNum": "KM3",
                "qualificationStatus": 1,
                "revision": 1
            }
        ],
        "pageCount": 2,
        "pageIndex": 1,
        "pageSize": 2,
        "start": 1
    },
    "message": "success"
}

分页 返回 json格式数据的更多相关文章

  1. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  2. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...

  3. WebService返回json格式数据供苹果或者安卓程序调用

    1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...

  4. 使用jQuery发送POST,Ajax请求返回JSON格式数据

    问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...

  5. Django 1.8.11 查询数据库返回JSON格式数据

    Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...

  6. ajax请求后台,返回json格式数据,模板!

    添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...

  7. 如何让webapi只返回json格式数据

    最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...

  8. springmvc通过ajax异步请求返回json格式数据

    jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...

  9. C#返回JSON格式数据

    又类的属性生成json格式数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

随机推荐

  1. 运行HelloWorld.class是报错(错误: 找不到或无法加载主类 HelloWorld.class)

    1.从毕业到现在工作了几个月了,每天都是在写一些js代码,感觉作为一个web程序员,java还是十分重要的,于是自己买了一本java书来边学边练习,然后发现自己连使用记事本来编写的HelloWorld ...

  2. win32 listctrl控件右键菜单的实现

    HMENU Menu_list,Menu_all; POINT point; HINSTANCE hInstance;//下面代码放到BOOL WINAPI DialogProc下 case WM_C ...

  3. Selenium2+python自动化69-PhantomJS使用【转载】

    前言 PhantomJS是一个没有界面的浏览器,本质上是它其实也就是一个浏览器,只是不在界面上展示. PhantomJS非常适合爬虫方面,很多玩爬虫的都喜欢用这个浏览器. 一.PhantomJS环境准 ...

  4. python常用内置函数整理

    1.最常见的内置函数是print print("Hello World!") 2.数学运算 abs(-5) # 取绝对值,也就是5 round(2.6) # 四舍五入取整,也就是3 ...

  5. ibatis(sqlmap)中使用in语句的方法

    对于快速学习ibatis而没有过多时间去查阅资料的朋友,比如我,可能有些东西不一定能在快速上手的文档中涉猎到.今天就碰到一个问题,要在分页 查询的同时进行where语句删选操作.由于表记录比较少,因此 ...

  6. STL模板整理 vector

    一.什么是标准模板库(STL)? 1.C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板, ...

  7. 洛谷 P3371 【模板】单源最短路径 【链式前向星+SPFA】

    题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数.出发点的编号. 接下来M行每行包含三 ...

  8. 潜伏者(noip09年t1)解题报告 C++

    题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1. S 国军方内部欲发送的原 ...

  9. Linux查看内核信息或系统信息

    先说说为什么会写这个.这是我去面试的时候面试官问的一个问题,我感觉是一个普遍会被问到的问题.为了让我自己记住,也便于收集下Linux运维方向考官的题目. 第一,查看内核信息 cat /proc/ver ...

  10. WebApi 的三种寄宿方式 (二) - 宿主和控制器不在一个程序集

    新建一个类库: SelfHost: 方法一: 1.添加对MyControllers类库的引用. 2.在控制台代码中加入一行代码: 当然,可以添加多个程序集.(记得引用) var config = ne ...