JAVA项目中的真分页与假分页的代码怎么写~真分页:每次从数据库里按照排序方法 , 取一段数据,比如每页20条,第一页就是1-20 ,第二页就是21-40 。它是每次都从数据库里查询 。都是最新的 。假分页:一次从数据库里得到很多页的数据,然后缓存起来 。比如每页20条 , 一次取了100条,缓存起来 。第一页依然是1-20 ,第二页就是21-40 。到第6页的时候 , 再从数据库里取101-200条,在缓存起来 。只不过 , 取数据的时候不是从数据库里取了,而是在缓存里取 。但是这个数据有可能不是最新的,因为不是直接从数据库里查询的 。这种多用在更新不多的数据上 。
谁能给我个完整的java 分页代码 谢谢了import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import com.lqh.dao.db.DBCon;
public class PageDAO {
public static final String Text = "text";
public static final String Image = "image";
public static final String BbsText = "bbstext";
public static final String BbsImage = "bbsimage";
private HttpServletRequest request;
private int currentpage = 1; // 当前是第几页
private int pagecount = 0; // 一共有多少页
private int rscount = 0; // 一共有多少行
private int pagesize = 10; // 每页有多少行[默认为20行]
public PageDAO(HttpServletRequest request) {
this.request = request;
}
public int getCurrentpage() {
return currentpage;
}
public void setCurrentpage(int currentpage) {
this.currentpage = currentpage;
}
public int getPagecount() {
return pagecount;
}
public void setPagecount(int pagecount) {
this.pagecount = pagecount;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
public int getRscount() {
return rscount;
}
public void setRscount(int rscount) {
this.rscount = rscount;
}
/**
* 传入SQL语句获取总记录数
*/
public int getRsCountForRs(String sql) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
DBCon dbcon=new DBCon();
try {
conn = dbcon.getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if (rs.next()) {
rs.last();
this.rscount = rs.getRow();
} else {
this.rscount = 0;
}
} catch (Exception ex) {
ex.printStackTrace();
this.rscount = 0;
} finally {
dbcon.tryClose(rs, ps, conn);
}
return this.rscount;
}
public int getRsCountForSQL(String sql) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
DBCon dbcon=new DBCon();
try {
conn = dbcon.getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if (rs.next()) {
this.rscount = rs.getInt("rscount");
} else {
this.rscount = 0;
}
} catch (Exception ex) {
ex.printStackTrace();
this.rscount = 0;
} finally {
dbcon.tryClose(rs, ps, conn);
}
return this.rscount;
}
/**
* 获取总页数
*
* @return int
*/
public int getPageCount() {
try {
this.pagecount = ((this.rscount - 1) / this.pagesize) + 1;
} catch (Exception ex) {
this.pagecount = 0;
}
return this.pagecount;
}
/**
* 获取当前页码java分页加排序代码的设置
*
* @return int
*/
public int getCurrentPage() {
try {
推荐阅读
- 直播伴侣直播分类不能选择,直播伴侣怎么开不了直播
- linuxin命令详解,linux常用命令in
- 如何在word里修剪图片,word怎么把图片修剪
- 多人体育游戏有哪些,多人体育游戏有哪些玩法
- go语言多属性排序 go语言 range
- 美国拍摄的奇幻视频叫什么,美国拍摄的电影
- java对账代码,java记账代码
- oracle查询重复行,oracle查询重复数据数量
- 删除文件命令行linux 删除文件夹linux命令