`
木羽子川
  • 浏览: 11661 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

springside封装的page类(源码)

 
阅读更多
package org.springside.modules.orm;
import java.util.Collections;
import java.util.List;
import org.apache.commons.lang.StringUtils;

public class Page<T> {
// 公共变量 //
public static final String ASC = "asc";
public static final String DESC = "desc";
//分页参数 //
protected int pageNo = 1;
protected int pageSize = 1;
protected String orderBy = null;
protected String order = null;
protected boolean autoCount = true;
//返回结果 //
protected List<T> result = Collections.emptyList();
protected long totalCount = -1;
// 构造函数 //
public Page() {
}
public Page(final int pageSize) {
  setPageSize(pageSize);
}
public Page(final int pageSize, final boolean autoCount) {
  setPageSize(pageSize);
  setAutoCount(autoCount);
}
// 查询参数访问函数 //

public int getPageNo() {
  return pageNo;
}

public void setPageNo(final int pageNo) {
  this.pageNo = pageNo;
  if (pageNo < 1) {
   this.pageNo = 1;
  }
}

public int getPageSize() {
  return pageSize;
}

public void setPageSize(final int pageSize) {
  this.pageSize = pageSize;
  if (pageSize < 1) {
   this.pageSize = 1;
  }
}

public int getFirst() {
  return ((pageNo - 1) * pageSize) + 1;
}

public String getOrderBy() {
  return orderBy;
}

public void setOrderBy(final String orderBy) {
  this.orderBy = orderBy;
}

public boolean isOrderBySetted() {
  return (StringUtils.isNotBlank(orderBy) && StringUtils.isNotBlank(order));
}

public String getOrder() {
  return order;
}

public void setOrder(final String order) {
  //检查order字符串的合法值
  String[] orders = StringUtils.split(StringUtils.lowerCase(order), ',');
  for (String orderStr : orders) {
   if (!StringUtils.equals(DESC, orderStr) && !StringUtils.equals(ASC, orderStr))
    throw new IllegalArgumentException("排序方向" + orderStr + "不是合法值");
  }
  this.order = StringUtils.lowerCase(order);
}

public boolean isAutoCount() {
  return autoCount;
}

public void setAutoCount(final boolean autoCount) {
  this.autoCount = autoCount;
}
// 访问查询结果函数 //

public List<T> getResult() {
  return result;
}
public void setResult(final List<T> result) {
  this.result = result;
}

public long getTotalCount() {
  return totalCount;
}
public void setTotalCount(final long totalCount) {
  this.totalCount = totalCount;
}

public long getTotalPages() {
  if (totalCount < 0)
   return -1;
  long count = totalCount / pageSize;
  if (totalCount % pageSize > 0) {
   count++;
  }
  return count;
}

public boolean isHasNext() {
  return (pageNo + 1 <= getTotalPages());
}

public int getNextPage() {
  if (isHasNext())
   return pageNo + 1;
  else
   return pageNo;
}

public boolean isHasPre() {
  return (pageNo - 1 >= 1);
}

public int getPrePage() {
  if (isHasPre())
   return pageNo - 1;
  else
   return pageNo;
}
}
分享到:
评论

相关推荐

    springside3源码及jar

    《深入解析springside3:源码与jar剖析》 springside3是一个基于Spring框架的轻量级Java开发工具集,它旨在简化企业级应用的开发过程,提供了一套完整的构建工具、最佳实践和代码示例。在本文中,我们将深入探讨...

    springside-3.3.4 源码(无JAR)

    《SpringSide 3.3.4 源码解析与技术深度探讨》 SpringSide 是一个基于 Spring 的轻量级企业应用开发框架,它旨在简化 Spring 的使用,提供了一套最佳实践和快速入门模板。在本文中,我们将深入探讨 springside-...

    springside-3.2.2源码

    1. `core`:核心模块,包含 SpringSide 的基础工具类和配置管理,如日志、国际化、属性文件处理等。 2. `modules`:模块化设计,包括示例模块、数据库访问模块、Web 模块等,便于开发者根据需求选择使用。 3. `tools...

    springside-3.3.4纯源码

    《SpringSide 3.3.4 源码解析与应用》 SpringSide 是一个开源的Java企业级应用开发框架,旨在简化Spring框架的使用,提高开发效率。本篇文章将详细探讨SpringSide 3.3.4版本的源码结构、核心功能以及如何通过Maven...

    SpringSide的Hibernate封装

    SpringSide的Hibernate封装是针对Spring和Hibernate整合时的一种优化实践,旨在提高开发效率和代码的可维护性。它通过三层封装来实现对Hibernate操作的便捷和类型安全。 第一层是HibernateGenericDao,它是基于...

    springside3-core-3.0.4 源码

    5. **工具类集**:springside3-core-3.0.4提供了一套丰富的工具类,涵盖了日志、反射、集合操作等多个方面,这些都是日常开发中的常用工具,理解其源码有助于提高代码质量。 6. **测试框架集成**:项目包含了对...

    SpringSide 项目源码

    SpringSide 中的控制器类(Controller)遵循 Spring MVC 设计模式,通过注解(如 `@RequestMapping`)来定义请求映射,实现业务逻辑与视图的分离。 ### 六、Spring Data JPA Spring Data JPA 提供了对 JPA 的简化...

    SpringSide4 参考手册

    最后,文档提供了一些通用工具的介绍,比如Apache Commons、Google Guava、Spring以及SpringSide自身提供的工具类,还包括了数据序列化的功能,如XML与JSON的互相转换。 整体来看,SpringSide4参考手册是一份非常...

    springside.jar

    springside-core是整个项目的基石,它封装了springside的核心功能和组件,如项目初始化、配置管理、AOP支持等。这个模块是其他所有模块依赖的基础,也是开发者最需要理解和掌握的部分。 总结,springside.jar作为一...

    springside开发全面讲解

    《springside开发全面讲解》是一份旨在帮助开发者深入了解并掌握springside框架的详尽教程。springside是一款基于Spring框架的轻量级开发工具集,它为Java开发提供了简洁、高效的解决方案,尤其适合中大型项目的开发...

    springside3.3.4 使用方法

    4. **下载Springside源码包**: - 下载并解压`springside-3.3.4-src.zip`。 - Sprinside 3.3.4源码包中包含了项目的示例代码、文档以及构建脚本。 5. **安装Maven Ant Tasks**: - 将`maven-ant-tasks-2.1.1.jar...

    springside3

    它封装了Spring框架的一些常用功能,如数据访问、事务管理、安全控制等,并提供了方便的工具类和配置模版。此外,它还包含了一些实用的模块,如日志管理、国际化支持、性能监控等,这些都极大地简化了开发者的工作。...

    Springside-core-4.1.0/Springside-core-4.1.0

    《SpringSide核心库4.1.0深度解析》 SpringSide是Java开发中的一款轻量级框架,它基于Spring框架,旨在简化企业级应用的开发流程。本文将深入探讨SpringSide-core-4.1.0的核心特性,以及其在实际项目中的应用。 一...

    springside3.0.zip

    《SpringSide 3.0:Java企业开发的高效框架指南》 SpringSide 3.0 是一个基于Spring框架的开源项目,旨在为Java开发者提供一套高效、简洁的开发规范和工具集。它不仅包含了Spring的核心模块,还整合了其他优秀的...

    springside

    《SpringSide:全面解析与应用》 SpringSide项目是一个基于Java的开源软件开发框架,它以Spring Framework为核心,旨在提供一套简洁、规范的项目构建和开发实践。在深入理解SpringSide之前,我们首先需要了解Spring...

    springside-core.rar

    首先,"springside-core-4.1.0.GA"是核心模块的主JAR文件,其中封装了SpringSide的核心类和接口。这个JAR文件通常会被添加到项目的类路径中,使得项目能够直接使用SpringSide提供的服务。这些服务包括但不限于自动...

    Springside4 学习整理

    【Springside4 学习整理】 Springside4 是一个基于 JavaEE 平台的开源项目,它围绕 Spring Framework 构建,旨在提供实用的示例和最佳实践。Springside4 不是一个完整的框架,而是一个架构示例,帮助开发者理解和...

    springside框架

    Hibernate,一个强大的对象关系映射(Object-Relational Mapping, ORM)框架,将复杂的SQL语句封装,使得开发者可以使用Java对象进行数据操作。在SpringSide中,Hibernate被用来处理数据库交互,通过定义对象实体和...

    有springside4.2.3-GA.jar 包

    1. **Core**:这是SpringSide的核心模块,包含了一些通用的工具类和配置,如日志管理、代码生成器、属性文件管理等,为项目提供了基础服务。 2. **Demo**:示例模块,提供了各种应用场景的实例,帮助开发者快速理解...

Global site tag (gtag.js) - Google Analytics