简单分页(只有第一页、上一页、下一页、末一页)
来源:互联网 发布:邮件整理软件 编辑:程序博客网 时间:2024/04/18 13:35
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> ]
- 简单分页(只有第一页、上一页、下一页、末一页)
- 分页(上一页,下一页)
- GridView分页(第一页、上一页、下一页、最后页、当前页数/总页数)
- GridView分页(第一页、上一页、下一页、最后页、当前页数/总页数)
- dede 分页 上一页 下一页
- 万能分页显示上一页下一页
- servlet+mysql分页(上一页,下一页)
- 分页实现-----首页、上一页、下一页、最后一页
- java实现的分页方法(上一页下一页)
- asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据
- js上一页,下一页
- 上一页下一页js
- gridview首页、上一页、下一页、末页
- 自己为 GridView 写分页 如: [首页][上一页][下一页][末页]
- php mysql 上一页 下一页 分页代码片段
- sqlserver上一页,下一页以及高效分页查询语句
- js上一页/下一页真分页的页码生成
- dedecms分页样式修改 内容页 上一页 下一页
- GetTickCount函數
- JS汉字编码转换(转)
- P2P知识(1)--P2P技术与信息安全
- 关于全角空格
- hibernate.cfg.xml
- 简单分页(只有第一页、上一页、下一页、末一页)
- sql server2005后版本中,with递归做做子查询
- 开博客了
- eclipse中搜索替换所有中文字符
- 一个普通程序员的苦与乐
- pb op execl file
- MySQL Server 5.0 – 安装及配置
- 人和电脑的相似性
- 電子商務:中長期規劃