package util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
* @author Hongyu
*
* @param <T>
*/
public class Pagination<T> {
// 当前页
private Integer nowPage;
// 页面要显示信息条数
private Integer pageSize;
// 根据页面显示的条数计算总页数
private Integer countPage;
// 根据传入的数据库查询数据库中的信息的条数
private Integer total;
// 向数据库查询时的开始的下标
private Integer startIndex;
// 向数据库查询时的查询条数
private Integer endIndex;
// 将查询到的数据存放到这里
private List<T> rows;
public Pagination(Integer nowPage, Integer pageSize, String tableName) {
// 赋值
this.nowPage = nowPage;
this.pageSize = pageSize;
// 判断当前页是否合法
if (this.nowPage < 1) {
this.nowPage = 1;
}
// 向数据库发送查询,查询出指定表格的数据的总数
this.total = this.getCountSize(tableName);
// 计算总页数
this.countPage = this.total % this.pageSize == 0 ? this.total
/ this.pageSize : this.total / this.pageSize + 1;
if (this.nowPage > this.countPage) {
this.nowPage = this.countPage;
}
//System.out.println("pagenation中的nowPage==========" + this.nowPage);
// 计算出开始的记录下标,和每页要显示的条数
if (this.nowPage == 0) {
this.startIndex = this.nowPage * this.pageSize;
this.endIndex = this.pageSize;
} else {
this.startIndex = (this.nowPage - 1) * this.pageSize;
this.endIndex = this.pageSize;
}
/*System.out.println(this.startIndex + "======pagenation中的开始和结束========"
+ this.endIndex+"====================总页数"+countPage);
*/
}
// 根据提供的表名向数据库发送请求,计算指定数据表中的数据总条数
public Integer getCountSize(String tableName) {
int countRecord = 0;
String sql = "select count(*) as c from " + tableName;
Connection conn = JdbcUtil.getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next()) {
countRecord = rs.getInt("c");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JdbcUtil.release(rs, pstmt);
}
return countRecord;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
public Integer getStartIndex() {
return startIndex;
}
public Integer getEndIndex() {
return endIndex;
}
public Integer getTotal() {
return total;
}
}
分享到:
相关推荐
对于mysql中的大量数据显示问题,进行了分页,使得数据可以更加清晰的显示
Struts1.2实现MySQL数据库分页 文章出处:http://www.diybl.com/chm/htm/3_program/java/javajs/2008822/2008822111157.html
MySQL数据库实现的分页实例 先导入SQL语句 Web
java连mysql接数据库,通过jsp访问数据库并实现分页功能
网上的分页代码有很多,但是发现许多实例都把数据放到前台处理,后来参考了大神的意见,决定使用后台sql分页代替... 主要的思路是分为前台和后台,前台主要用html+js+jquery实现,后台采用了jdbc+servelt+mysql数据库。
servlet连接mysql数据库,操作数据库实现分页加载功能 。
JAVA,JSP,实现各类数据库分页实现大全。通用数据分页实现设计。
里面有2个关于分页(JSP+DAO和MVC+DAO(基于MySQL数据库分页))
java分页(三种数据库sql server ,mySql,oracle)
jsp页面显示,在后台操作mysql数据库实现分页。有独立的connnet类,用户实体类。
开发环境:SpringBoot+SSM,同样适合SpringBoot,具备一定Maven项目基础初学者,详细说明地址http://blog.csdn.net/fjekin/article/details/75541573
压缩包里面有完整的使用java写的javaee工程文件,通过JDBC操作mysql数据库实现对页面内容的增删改查。 如果有任何疑问,请在评论下留言,我会尽快反馈!
Mysql java MySQL数据库下的JSP分页查询模块源码
mysql、sqlserver、oracle分页,java分页统一接口实现
这是我们上课时老师当做例子讲的,比较适合J2EE初学者。是在分页的基础上加上了增删改查。
使用java,jsp,mysql实现Ajax分页。可以观察到ajax按需获取数据,异步交互的过程。这个代码可以直接引用到其他需要分页的地方。booklist.jsp是前台显示页面,getbooks.jsp是后台与数据库操作页面,creathttp.js是...
利用easyUI结合MySQL数据库实现分页效果,使用DataGrid.html模板
三种数据库SQL分页方法详解 java sql mssql mysql oracle 分页代码 java培训,8人精品小班教学 保证质量,包就业,半年全部学完。 www.5djava.com Email:tonylovejava@163.com
简介:自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真
01A MySQL讲解及创建数据库表.wmv 01B MySQL讲解及创建数据库表.wmv 02A 创建项目并实现JDBC访问数据库.wmv 02B 创建项目并实现JDBC访问数据库.wmv 02C 创建项目并实现JDBC访问数据库.wmv 03A ORM实现数据的保存.wmv...