page分页
首先封装一个分页类
- public class Page<T> {
- /**
- * 当前页号
- */
- private int pageNumber;
- /**
- * 总条数
- */
- private int totalCount;
- /**
- * 总页数
- */
- private int totalPage;
- /**
- * 每页显示的数量
- */
- private int pageSize;
- /**
- * 当前页的数据
- */
- private List<T> item;
- /**
- * 当前起始行号
- * @return
- */
- private int from;
- public Page(){}
- public Page(int pageSize,int totalCount,String pageNumber) {
- setPageSize(pageSize);
- setTotalCount(totalCount);
- setPageNumber(pageNumber);
- }
- public int getPageNumber() {
- return pageNumber;
- }
- public void setPageNumber(String pageNumber) {
- if(StringUtil.isNumber(pageNumber)){
- int tempNumber = Integer.parseInt(pageNumber);
- if(tempNumber < 1){
- tempNumber = 1;
- }else if(tempNumber > getTotalPage()){
- tempNumber = getTotalPage();
- }
- this.pageNumber = tempNumber;
- }else{
- this.pageNumber = 1;
- }
- }
- public int getTotalCount() {
- return totalCount;
- }
- public void setTotalCount(int totalCount) {
- this.totalCount = totalCount;
- this.totalPage = totalCount / getPageSize();
- if(totalCount % getPageSize() != 0) {
- this.totalPage++;
- }
- }
- public int getTotalPage() {
- return totalPage;
- }
- /*public void setTotalPage(int totalPage) {
- this.totalPage = totalPage;
- }*/
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public List<T> getItem() {
- return item;
- }
- public void setItem(List<T> item) {
- this.item = item;
- }
- public int getFrom() {
- return (getPageNumber() - 1) * getPageSize();
- }
- public void setForm(int from) {
- this.from = from;
- }
- public List<Integer> getSlider(){
- int startPageNumber = getPageNumber() - 2;
- int endPageNumber = getPageNumber() + 2;
- if(startPageNumber <= 0){
- endPageNumber -= startPageNumber - 1;
- startPageNumber = 1;
- }
- if(endPageNumber > getTotalPage()){
- int temp = getTotalPage() - endPageNumber;
- endPageNumber = getTotalPage();
- startPageNumber = startPageNumber + temp;
- if(startPageNumber < 1){
- startPageNumber = 1;
- }
- }
- List<Integer> result = new ArrayList<Integer>();
- for(int i = startPageNumber;i <= endPageNumber;i++){
- result.add(i);
- }
- return result;
- }
- }
controller中
- Page<Active> page = new ActiveService().findByProjectid(projectid,pageNo);
service中
- public Page<Active> findByProjectid(String projectid, String pageNo) {
- return activeDao.findAllByidAndPageNo(Long.valueOf(projectid),pageNo);
- }
dao中
- public Page<Active> findAllByidAndPageNo(Long projectid, String pageNo) {
- String sql = "SELECT * FROM active,account WHERE active.accountid = account.id AND projectid = ? order by active.id desc limit ?,?";
- Page<Active> page = new Page<Active>(5, findActiveCountByprojectid(projectid), pageNo);
- //因为返回的page中的item里是没有account信息的,但是在home.jsp中需要显示account的头像和姓名,所以要重写这个rowmapper
- List<Active> list = db.queryForList(sql, new RowMapper<Active>(){
- @Override
- public Active mapRow(ResultSet rs) throws SQLException {
- Active active = new Active();
- active.setAccountid(rs.getLong("accountid"));
- active.setContext(rs.getString("context"));
- active.setCreatetime(rs.getTimestamp("createtime"));
- active.setId(rs.getLong("id"));
- active.setProjectid(rs.getLong("projectid"));
- active.setType(rs.getString("type"));
- Account account = new Account();
- account.setId(rs.getLong("accountId"));
- account.setUsername(rs.getString("username"));
- account.setPic(rs.getString("pic"));
- active.setAccount(account);
- return active;
- }
- }, projectid,page.getFrom(),page.getPageSize());
- page.setItem(list);
- return page;
- }
- private int findActiveCountByprojectid(Long projectid) {
- String sql = "select count(*) from active where projectid = ?";
- return db.queryForCount(sql, projectid).intValue();
- }
page分页的更多相关文章
- page分页问题,根据页码获取对应页面的数据,接口调用
添加一个log.js文件,进行接口调用. import axios from '@/libs/api.request' const MODULE_URL = '/log'; export const ...
- layui -page 分页类
<?phpnamespace page; // +---------------------------------------------------------------------- / ...
- 封装page分页类
类: <?php //分页工具类 class Page{ /* * 获取分页字符串 * @param1 string $uri,分页要请求的脚本url ...
- page分页类
<?php /** file: Page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...
- java Page分页显示
//entity层实体类 import java.util.List; //分页展示 //相关属性:当前页,页大小(每页显示的条数),总页数,总条数,数据 //select * from t_user ...
- jQuery.page 分页控件
分享一下自己在项目中引用的Jquery分页控件 index.html内容 <!DOCTYPE html> <html lang="zh-cn" xmlns=&qu ...
- page 分页
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- MVC Page分页控件
MVCPage帮助类 控制器代码 public ActionResult Article(int? page) { //Session["ArticleClass"] = cont ...
- JPA+Postgresql+Spring Data Page分页失败
按照示例进行如下代码编写 Repository Page<DeviceEntity> findByTenantId(int tenantId, Pageable pageable); se ...
随机推荐
- nefu 462 fib组合
nefu 462 fib组合 (斐波那契数列的通项公式以及推倒过程) 分类: 数学2014-05-21 10:27 190人阅读 评论(0) 收藏 举报 题目链接:http://acm.nefu.ed ...
- hdu 4741 Save Labman No.004(2013杭州网络赛)
http://blog.sina.com.cn/s/blog_a401a1ea0101ij9z.html 空间两直线上最近点对. 这个博客上给出了很好的点法式公式了...其实没有那么多的tricky. ...
- UIImageView图片视图的基本概念和使用方法
IOS学习笔记(十)之UIImageView图片视图的基本概念和使用方法(博客地址: http://blog.csdn.net/developer_jiangqq ) Author:hmjiangqq ...
- BNUOJ29065鸣人的查克拉
鸣人的查克拉 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class name: ...
- 倒计时IE6+
很简单的 下面是我为了做多个倒计时更改之后的 dome 下载链接 兼容 IE7以上 IE6没测试应该没问题 http://yunpan.cn/cf29rxmGKuMyJ 提取码 ca61
- jade初学
jade是一个比ejs略难得模板.express的默认模本就是jade. 今天看了一下其实不是太难~~ 笔记: jade中使用缩进来定义HTML文档的层次结构 jade不需要关闭标签 给div添加id ...
- java web分享ppt大纲 -- servlet包
概述 servlet相关代码所在包: javax.servlet javax.servlet.http 常用的功能模块 Servlet,filter,listener 常用的相关类: servlet ...
- CDH 无法查看history log
1.配置(core-site.xml) <property> <name>hadoop.http.staticuser.user</name> <valu ...
- ajax+php如何获取部分请求的信息显示在对应的div中
我该如何把需要显示的信息显示在文章列表中呢???
- IOS 表视图(UITableVIew)的使用方法(4)自定义表视图单元
UITableViewCell的自定义往往需要自建一个UITableViewCell的子类后进行作业.开发者可以选择通过xib或者直接在UITableViewCell的布局中进行UITableView ...