分页 返回 json格式数据
分页工具类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格式数据的更多相关文章
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- 返回json格式数据乱码
本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- Django 1.8.11 查询数据库返回JSON格式数据
Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...
- ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...
- 如何让webapi只返回json格式数据
最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...
- springmvc通过ajax异步请求返回json格式数据
jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...
- C#返回JSON格式数据
又类的属性生成json格式数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
随机推荐
- delphi dispose释放内存的方法 New 和 GetMem 的区别
来自:http://blog.sina.com.cn/s/blog_4bc47d2301018trf.html -------------------------------------------- ...
- 在.NET4.5项目中添加HttpClient引用的办法
一. 创建新项目 1. 打开 Microsoft Visual Studio 201 0,然后从 “ 文件 ” 菜单中选择 “ 新建项目 ” .在模板列表中,选择 Visual C#.在该区域下面 ...
- redis持久化的方法及对比
1.持久化的作用 redis所有的数据保持在内存中,对数据的更新将异步的保存到磁盘上. 两种方式: 2.RDB 2.1.概念 2.2.触发机制 2.2.1.save 同步 因为是同步命令,数据量大的话 ...
- 使用vscode开发调试.net core应用程序并部署到Linux跨平台
使用VS Code开发 调试.NET Core RC2应用程序,由于.NET Core 目前还处于预览版. 本文使用微软提供的示例进行开发及调试. https://github.com/aspnet/ ...
- Unity防破解 —— 重新编译mono
Unity4.x版本导出android包时,只能选择mono,无法使用il2cpp,这就造成了我们的程序集很容易被修改--很多朋友在发布项目时觉得即使代码暴露出去也没什么关系,只有项目火了才有 ...
- 蒟蒻的9个背包的浩大工程(更新中)(无限延期)(太长了不舍删虽然写的lj的一匹)
所以说这就是一篇写炸的废文!!!! 所以说背包直接看dd大神的就好了,算了瞎写写吧. 0/1背包 有n件物品和一个容量为C的背包.第i件物品的重量是w[i],价值是v[i].求解将哪些物品放入背包可使 ...
- 潜伏者(noip09年t1)解题报告 C++
题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1. S 国军方内部欲发送的原 ...
- java.net.MalformedURLException: Protocol not found:
出现java.net.MalformedURLException: Protocol not found: 一般来说是url地址没有写对.没有以http://开头,或者出现空格等格式问题: 要看清楚 ...
- bzoj 2660: [Beijing wc2012]最多的方案
Time Limit: 5 Sec Memory Limit: 128 MB Submit: 617 Solved: 361[Submit][Status][ ...
- [UOJ206]Gap
子任务$1$:直接找到最大值后从两边开始找,一步一步从左右到中间确定所有数,调用次数是$\left\lceil\dfrac n2\right\rceil$ 子任务$2$:先找到最大值$mx$和最小值$ ...