DB.java代码:
package com.bjsxt.bbs;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DB {
public static Connection getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs", "root" , "root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static Statement createStmt(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}
public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static int executeUpdate(Connection conn, String sql){
int ret = 0;
Statement stmt = null;
try {
stmt = conn.createStatement();
ret = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(stmt);
}
return ret ;
}
public static PreparedStatement prepareStmt(Connection conn, String sql){
PreparedStatement pStmt = null;
try {
pStmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pStmt;
}
public static PreparedStatement prepareStmt(Connection conn, String sql, int autoGeneratedKeys){
PreparedStatement pStmt = null;
try{
pStmt = conn.prepareStatement(sql, autoGeneratedKeys);
} catch(SQLException e) {
e.printStackTrace();
}
return pStmt;
}
public static void close(Connection conn) {
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
public static void close(Statement stmt) {
if(stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
}
public static void close(ResultSet rs) {
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
}
}
Article.java代码:
package com.bjsxt.bbs;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
public class Article {
private int id;
private int pid; //private Article parent
private int rootId;
private String title;
private String cont;
private Date pdate;
private boolean isLeaf;
private int grade;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public int getRootId() {
return rootId;
}
public void setRootId(int rootId) {
this.rootId = rootId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCont() {
return cont;
}
public void setCont(String cont) {
this.cont = cont;
}
public Date getPdate() {
return pdate;
}
public void setPdate(Date pdate) {
this.pdate = pdate;
}
public boolean isLeaf() {
return isLeaf;
}
public void setLeaf(boolean isLeaf) {
this.isLeaf = isLeaf;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public void initFromRs(ResultSet rs){
try {
setId(rs.getInt("id"));
setPid(rs.getInt("pid"));
setRootId(rs.getInt("rootid"));
setTitle(rs.getString("title"));
setLeaf(rs.getInt("isleaf") == 0 ? true : false);
setPdate(rs.getTimestamp("pdate"));
setCont(rs.getString("cont"));
setGrade(0);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
分页article.jsp:
<%@ page pageEncoding ="GB18030"%>
<%@ page import="java.sql.*,com.bjsxt.bbs.*,java.util.*,java.io.*"%>
<%
//把每页的条目设置为4
final int PAGE_SIZE = 4 ;
int totalPages = 0;
String strPageNo = request.getParameter("pageNo");
int pageNo = 1;
if(strPageNo != null && !strPageNo.trim().equals("")){
try{
pageNo = Integer.parseInt(strPageNo);
} catch(NumberFormatException e) {
pageNo = 1;
}
}
if(pageNo < 1 ){
pageNo = 1;
}
List<Article> articles = new ArrayList<Article>();
Connection conn = DB.getConn();
Statement totalStmt = DB.createStmt(conn);
ResultSet rsCount = DB.executeQuery(totalStmt,"select count(*) from article where pid = 0");
rsCount.next();
int totalRecords = rsCount.getInt(1);
totalPages = (totalRecords + PAGE_SIZE -1)/PAGE_SIZE;
if(pageNo > totalPages) {
pageNo = totalPages;
}
Statement stmt = DB.createStmt(conn);
int startPages =(pageNo -1 ) * PAGE_SIZE;
String sql = "select * from article where pid = 0 order by pdate desc limit " + startPages + "," + PAGE_SIZE ;
ResultSet rs = DB.executeQuery(stmt,sql);
while(rs.next()){
Article a = new Article();
a.initFromRs(rs);
articles.add(a);
}
DB.close(rsCount);
DB.close(totalStmt);
DB.close(rs);
DB.close(stmt);
DB.close(conn);
%>
<span class="nobreak"> 页:
第<%=pageNo %>页 共<%=totalPages %>页 [
<a href="articleFlat.jsp?pageNo=<%=1%>">第一页</a>|
<a href="articleFlat.jsp?pageNo=<%=pageNo - 1 %>">上一页</a>
<a>|</a>
<a href="articleFlat.jsp?pageNo=<%=pageNo +1 %>">下一页</a>|
<a href="articleFlat.jsp?pageNo=<%=totalPages %>">最末页</a> ]
分享到:
相关推荐
使用vue编写的分页器组件,可设置初始页码,支持输入页码跳转
【ASP.NET编程知识】asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页.docx
主要介绍了asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页,可使用上下键选中行,选中后点击修改,textbox获得gridview中的代码的数据,需要的朋友可以参考下
jsp 分页显示数据,显示“页数”,“第几页”,“上一页” “下一页” “首页” “尾页”“1,2,3,4,5……”;分页效果和平时所见的分页效果相同,数据库用hibernate链接 “上一页”显示的数据和“1,2,3,4……”想...
实现可滚动并始终显示第一页跟最后一页的算法,效果:【上一页】【1】【2】【3】...【19】【20】【下一页】
附件包含Axure中继器的增加、删除、查看、更新操作,也包括中继器内数据的分页信息,如总数据、页数据、上、下、第1页,最后1页的翻页等操作
DataGridview 简单的分页功能 第一页,下一页,上一页,最后一页,资源共享。 内有数据库
这是我写的分页的一些代码,有的地方没写完,不过思路是清晰的;需要的 自己看看、写写 就好了
Qt编写的数据库分页demo,支持上一页下一页第一页末一页切换,实时显示当前页信息,支持千万级数据量。
JavaWeb新版教程. 项目第五阶段-分页目-首页、上一页、下一页、末页的实现.avi
jsp 中简单轻巧好用的分页工具 总计 10条记录分为 2 页 当前第 1 页 第一页 上一页 下一页 最后一页 转到 页
jQuery分页代码:无刷新ajax的翻页效果,简单说一下这个插件所要实现的功能,后台将查询出来的内容全部显示到页面上,这个插件要控制这些内容,使其一页一页显示。有上一页,下一页,首页,尾页的功能。在第一页时,...
大致功能就是页面只显示几条信息,按上一页、下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时下一页和尾页选项不可选 具体效果如下: 实现代码 1)原生PHP方法 先说一下总思路...
GridView的自带分页 自定制分页 首页 上一页 下一页 末页 当前第几页 共几页
共计***条记录,显示1 到 50 ,当前第 1 页,总计 50 页, 首页 上一页 下一页 末页 --- GO
我写项目遇到的一个的情况:在第一页选中的radio的状态,点击下一页按钮切换到第二页,然后再点击上一页切换会第一页,第一页中的radio状态就恢复默认了。 原因分析 点击分页组件中的小组件进行切换页面时,渲染切换...
struts2+hibernate 实现分页 首页 上一页 下一页 尾页 通过一个下拉框选择转到第几页
第一页 - 上一页 - 下一页 - 最后页 形式 以字母索引 A | B | C | D | E | F 形式 A | B | C | D | E | F 形式 1-10 | 11-20 | 21-30 或 1 | 2 | 3 | 4 | 5 限制显示页数 配合限制显示页数的前若干页和后...