@Controller
public class AttendanceEquipmentCmdController {
@Resource(name = "attendanceEquipmentCmdService")
private AttendanceEquipmentCmdService attendanceEquipmentCmdService;
//获得分页列表
@RequestMapping(value="/getDeviceCmdChildrenList",method = RequestMethod.POST)
public void getDeviceCmdChildrenList(HttpServletRequest request,HttpServletResponse response,String cmd_devid,
String pageno) {
// 第一步:将当前页,每页记录条数,记录的总条数封装到实体类page中
Page page = new Page(Integer.parseInt(pageno), 12, attendanceEquipmentCmdService.getDeviceCmdTotal(cmd_devid));
//第二步 :获取当前页的数据集合
List<AttendanceEquipmentCmd> list = attendanceEquipmentCmdService.getDeviceCmdChildrenList(cmd_devid, page.getPageno(), page.getPagesize());
//第三步:将数据集合封装到实体类page中
page.setPagelist(list);
//第四步:获取json工具类,将封装好的实体类对象转成json格式返回到当前页面
JsonUtil out = new JsonUtil(request,response);
out.outObjString(page);
}
}
2. Page实体类对象
public class Page {
// 总页数
@SuppressWarnings("unused")
private int totalpage;
// 总记录数
private int totalcount;
// 当前页
private int pageno;
// 每页的数量
private int pagesize = 12;
//当前页list
private List<Object> pagelist;
//重构构造方法
/**
*
* @param pageNo 当前页
* @param pageSize 每页记录条数
* @param totalCount 记录的总条数
*/
public Page(int pageNo,int pageSize,int totalCount) {
setTotalcount(totalCount);
setPagesize(pageSize);
getTotalpage();
setPageno(pageNo);
}
@SuppressWarnings("rawtypes")
public List getPagelist() {
return pagelist;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void setPagelist(List pagelist) {
this.pagelist = pagelist;
}
public int getPageno() {
return pageno;
}
public void setPageno(int pageno) {
if(pageno>getTotalpage()) {
pageno = getTotalpage();
}
this.pageno = pageno;
}
public int getTotalpage() {
int item = this.totalcount%this.pagesize;
if(item>0) {
this.totalpage = this.totalcount/this.pagesize+1;
return this.totalcount/this.pagesize+1;
}else {
this.totalpage = this.totalcount/this.pagesize;
return this.totalcount/this.pagesize;
}
}
public void setTotalpage(int totalpage) {
this.totalpage = totalpage;
}
public int getTotalcount() {
return totalcount;
}
public void setTotalcount(int totalcount) {
this.totalcount = totalcount;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
}
3. mappin.xml中的sql语句
<!-- 通过设备id获得设备分页总数 -->
<select id="getDeviceCmdTotal" resultType="java.lang.Integer">
SELECT count( * ) FROM fx_cmd WHERE cmd_devid = #{cmd_devid}
</select>
<!-- 通过设备id获得设备分页列表 -->
<select id="getDeviceCmdChildrenList" resultType="com.zhiruan.attendance.bean.AttendanceEquipmentCmd">
SELECT
*
FROM
( SELECT ROW_NUMBER ( ) OVER ( ORDER BY fc.cmd_submittime ) AS ROWNUMBER, fc.* FROM fx_cmd fc WHERE cmd_devid = #{cmd_devid} ) AS MODULE
WHERE
ROWNUMBER BETWEEN (#{pageno}-1)*#{pagesize}+1 AND #{pagesize}*#{pageno}
ORDER BY cmd_submittime DESC
</select>