刚开始弄 ,目前分页是在前台jsp中实现的 与bean相比 这样比较容易一些
先把代码贴出来 正在研究怎么样用bean实现分页 等弄好了 再贴代码
下面说下分页理论 select * from message order by time desc limit begin,size
begin 数据记录从第几条开始 begin=(当前页数-1)*size
size 每页的记录数
下面是连接数据库的javabean;
1: package bean;<!--CRLF-->
2: import java.sql.*;<!--CRLF-->
3:
<!--CRLF-->
4: public class MyDb{<!--CRLF-->
5: private Statement stmt;<!--CRLF-->
6: private Connection conn=null;<!--CRLF-->
7: private ResultSet rs=null;<!--CRLF-->
8:
<!--CRLF-->
9: public void connection(String db_name,String user,String pwd) throws Exception{<!--CRLF-->
10: Class.forName("com.mysql.jdbc.Driver");<!--CRLF-->
11: String url="jdbc:mysql://localhost:3306/" + db_name;<!--CRLF-->
12: conn=DriverManager.getConnection(url,user,pwd);
<!--CRLF-->
13: stmt=conn.createStatement();
<!--CRLF-->
14: }
<!--CRLF-->
15:
<!--CRLF-->
16: public ResultSet query(String sql) throws Exception{<!--CRLF-->
17: rs=stmt.executeQuery(sql);
<!--CRLF-->
18: return rs;<!--CRLF-->
19: }
<!--CRLF-->
20:
<!--CRLF-->
21: public ResultSet query(String sql,int begin,int size) throws Exception{<!--CRLF-->
22: String s=" limit " + begin + "," +size;<!--CRLF-->
23: sql=sql + s;
<!--CRLF-->
24: rs=stmt.executeQuery(sql);
<!--CRLF-->
25: return rs;<!--CRLF-->
26: }
<!--CRLF-->
27:
<!--CRLF-->
28:
<!--CRLF-->
29: public int update(String sql) throws Exception{<!--CRLF-->
30: int n=0;<!--CRLF-->
31: n=stmt.executeUpdate(sql);
<!--CRLF-->
32: return n;<!--CRLF-->
33: }
<!--CRLF-->
34:
<!--CRLF-->
35: public boolean delete(String sql) throws Exception{<!--CRLF-->
36: boolean flag=false;<!--CRLF-->
37: flag=stmt.execute(sql);
<!--CRLF-->
38: return flag;<!--CRLF-->
39: }
<!--CRLF-->
40: }
<!--CRLF-->
下面是jsp的代码;
1: <jsp:useBean id="db" class="bean.MyDb" scope="page" /><!--CRLF-->
2: <%
<!--CRLF-->
3: int page_count; //总页数<!--CRLF-->
4: int p; //当前面号<!--CRLF-->
5: int size=3; //每页记录数<!--CRLF-->
6: int result_count; //总记录数<!--CRLF-->
7: int begin; //当前页第一条记录索引号<!--CRLF-->
8: ResultSet rs=null;
<!--CRLF-->
9: String page_s=request.getParameter("page");<!--CRLF-->
10: if(page_s==null) page_s="1";<!--CRLF-->
11: db.connection("test","root","root");<!--CRLF-->
12: String sql="select count(*) from message";<!--CRLF-->
13: rs=db.query(sql);
<!--CRLF-->
14: rs.next();
<!--CRLF-->
15: result_count=rs.getInt(1);
<!--CRLF-->
16: page_count=(result_count + size - 1)/size;
<!--CRLF-->
17: p=Integer.parseInt(page_s);
<!--CRLF-->
18: out.println("总记录数为:" + result_count + " 每页记录数为:" + size + " 总页数为:" + page_count + " 当前是第" + p + "页");<!--CRLF-->
19: sql="select * from message order by time desc";<!--CRLF-->
20: begin=(p-1)*size;
<!--CRLF-->
21: rs=db.query(sql,begin,size);
<!--CRLF-->
22: while(rs.next()){<!--CRLF-->
23: %>
<!--CRLF-->
24: <table>
<!--CRLF-->
25: <tr>
<!--CRLF-->
26: <td width="200"><%=rs.getString(1)%></td><!--CRLF-->
27: <td width="200"><%=rs.getString(2)%></td><!--CRLF-->
28: </tr>
<!--CRLF-->
29: <tr>
<!--CRLF-->
30: <td><%=rs.getString(3)%></td>
<!--CRLF-->
31: <td><%=rs.getString(4)%></td>
<!--CRLF-->
32: </tr>
<!--CRLF-->
33: <tr><td colspan="2"><%=rs.getString(5)%></td></tr><!--CRLF-->
34: <tr><td colspan="2"><hr /></td></tr><!--CRLF-->
35: </table>
<!--CRLF-->
36: <%
<!--CRLF-->
37: }
<!--CRLF-->
38: if(p>1) out.println("<a href=test.jsp?page=" + (p-1) + ">上一页</a>");<!--CRLF-->
39: if(p<page_count) out.println("<a href=test.jsp?page=" + (p+1) + ">下一页</a>");<!--CRLF-->
40: %>
<!--CRLF-->
-----------------------------------------------------------------------------------------------------------------
代码很粗糙, 将就着看吧 但是很适合新手学习.. 完全是自己写的..
等把bean写好了 传上来大家分享.