List list = session.createQuery("from Xxx x where ...").setFirstResult(0).setMaxResults(10).list();

解决方案 »

  1.   

    package com.mocha.bean;import java.io.*;
    import java.sql.*;
    import java.lang.String;/**
     * 只需传进三个参数,一个是每页显示记录集数,一个是记录集,一个是URL 取得分页效果只需调用一个getPage即可
     * 
     * @mc1035
     */
    public class PageNumber {
    private int rowCount = 1, // 总的记录数。
    pageSize = 1, // 每页显示的记录数。
    showPage = 1, // 设置欲显示的页码数。
    pageCount = 1; // 分页之后的总页数。
    private ResultSet rs;
    private String url;
    private StringBuffer page = new StringBuffer();
    private String formValue = "-1"; /*
     * 设置记录集
     */
    public void setRs(ResultSet a) {
    rs = a;
    try {
    rs.last(); // 获取最后一行的行号:
    rowCount = rs.getRow();// 获取
    } catch (SQLException ex) {
    ex.printStackTrace();
    } } public ResultSet getRs() {
    return rs;
    } /*
     * 设置url
     */
    public void setUrl(String a) {
    url = a;
    } public String getUrl() {
    return url;
    } /*
     * 设置总记录数
     */
    public void setRowCount(int n) {
    rowCount = n;
    } public int getRowCount() {
    return rowCount;
    } /*
     * 设置总的页数
     */
    public void setPageCount() { int n = (rowCount % pageSize) == 0 ? (rowCount / pageSize) : (rowCount
    / pageSize + 1);
    pageCount = n;
    } public int getPageCount() {
    return pageCount;
    } /*
     * 设置显示第几页
     */
    public void setShowPage(int n) {
    showPage = n;
    } public int getShowPage() {
    return showPage;
    } /*
     * 每页显示的记录数
     */
    public void setPageSize(int n) {
    pageSize = n; } public int getPageSize() {
    return pageSize;
    } /*
     * 设置表单值
     */
    public void setFormValue(String a) {
    formValue = a;
    } public String getFormValue() {
    return formValue;
    } public void setForm() { page.append("共有" + getRowCount() + "条记录");
    page.append(" ");
    page.append("总共" + getPageCount() + "页 ");
    page.append("当前为第" + getShowPage() + "页");
    page.append("每页显示" + getPageSize() + "条记录"); if (getShowPage() != 1) {
    page.append("<Form action=\"" + url + "\" method=\"post\">");
    page.append("<Input Type=\"hidden\" name=\"formValue\" value=\"1\">");
    page.append("<Input name=\"submit4\" type=\"submit\" value=\"首页\">");
    page.append("</FORM>");
    } else {
    page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
    }
    if (getShowPage() != getPageCount()) {
    page.append("<Form action=\"" + url + "\" method=\"post\">");
    page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""
    + (getShowPage() + 1) + "\">");
    page.append("<Input name=\"submit4\" type=\"submit\" value=\"下一页\">");
    page.append("</FORM>");
    } else {
    page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
    }
    if (getShowPage() != 1) {
    page.append("<Form action=\"" + url + "\" method=\"post\">");
    page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""
    + (getShowPage() - 1) + "\">"); page.append("<Input name=\"submit4\" type=\"submit\" value=\"上一页\">");
    page.append("</FORM>");
    } else {
    page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
    }
    if (getShowPage() != getPageCount()) {
    page.append("<Form action=\"" + url + "\" method=\"post\">");
    page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""
    + getPageCount() + "\">"); page.append("<Input name=\"submit4\" type=\"submit\" value=\"末页\">");
    page.append("</FORM>");
    } else {
    page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
    } page.append("<Form action=\"" + url + "\" method=\"post\">");
    page.append("输入欲要显示的页<Input Type=\"text\" name=\"formValue\" size=\"5\" value=\""
    + getShowPage() + "\">"); page.append("<Input name=\"submit4\" type=\"submit\" value=\"GO\">");
    page.append("</FORM>"); } public void showList() {
    try {
    page.append("<Table>");
    page.append("<TR>");
    ResultSetMetaData statName = rs.getMetaData(); for (int i = 1; i <= statName.getColumnCount(); i++) {
    page.append("<TH>" + statName.getColumnName(i));
    }
    page.append("</TR>"); for (int i = 1; i <= getPageSize(); i++) {
    page.append("<TR>");
    for (int j = 1; j <= statName.getColumnCount(); j++) {
    page.append("<TD>" + rs.getString(j) + "</TD>");
    }
    page.append("</TR>");
    if (!rs.next()) {
    break;
    }
    }
    page.append("</Table>");
    setForm(); } catch (Exception e) {
    e.printStackTrace();
    page.append(e);
    }
    } public String getPage() {
    setPageCount();
    try {
    int n = 1;
    if (formValue.equals("-1")) {
    formValue = "1";
    setShowPage(1);
    rs.absolute((n - 1) * getPageSize() + 1); } else {
    try {
    n = Integer.parseInt(formValue);
    if (n > getPageCount()) {
    n = getPageCount();
    }
    if (n <= 0) {
    n = 1;
    }
    setShowPage(n);
    rs.absolute((n - 1) * getPageSize() + 1); } catch (NumberFormatException e) {
    e.printStackTrace();
    n = getShowPage();
    rs.absolute((n - 1) * getPageSize() + 1);
    }
    }
    } catch (SQLException ex) {
    ex.printStackTrace();
    }
    showList(); String a = new String(page);
    return a;
    }}
      

  2.   

    <%@page contentType="text/html" pageEncoding="gb2312"
    import="java.sql.*,java.io.*"%>
    <%@page import="com.mocha.bean.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    </head>
    <body>
    <jsp:useBean id="pageNum" scope="page" class="com.mocha.bean.PageNumber" /> <%!
                Connection con=null;
                Statement sql=null;
                ResultSet rs=null;
                int rowCount=0;
                int pageSize=5;//每页显示的记录集数
            %>
    <%      try{
                    Class.forName("com.mysql.jdbc.Driver");
                    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/newspublish","root","sa");
                    sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
                    rs=sql.executeQuery("select * from user");
            %>
    <% //URL
                String str=response.encodeRedirectURL("index.jsp");
            //下面的是Bean的参数,可根据需要自行修改
            %> <jsp:setProperty name="pageNum" property="formValue" param="formValue" />
    <jsp:setProperty name="pageNum" property="rs" value="<%=rs%>" />
    <jsp:setProperty name="pageNum" property="pageSize" value="<%=pageSize%>" />
    <jsp:setProperty name="pageNum" property="url" value="<%=str%>" />
    <jsp:getProperty name="pageNum" property="page" /> <%
                rs.close();
                con.close();
                }catch(SQLException e){
                    e.printStackTrace();
                    out.print(e);
                    rs.close();
                    con.close();
                }
            %> </body>
    </html>
      

  3.   

    Hibernate就可以分页,至于页面上怎么写分页,自己看看
    下面是hibernate里面分页的方法
    public List getListForPage(final String hql, final int offset,  final int length) {
    List retList = getHibernateTemplate().executeFind(new HibernateCallback() {
    public Object doInHibernate(Session session) throws HibernateException, SQLException {
    Query query = session.createQuery(hql);
    query.setFirstResult(offset);
    query.setMaxResults(length);
    List list = query.list();
    return list;
    }
    });
    return retList;
     }
      

  4.   

    顶6楼的方法,Hibernate就可以做分页功能
      

  5.   

    来晚了,顶二楼和六楼的
    setFirstResult(0):表示从第1条记录开始查,如果是第N页,就从(N-1)*pagesize开始
    setMaxResults(10):表示总共取10条记录,即pagesize
      

  6.   

    List list = session.createQuery("from Xxx x where ...").setFirstResult(0).setMaxResults(10).list();再写个分页类PageHelp 里面放pageSize totalCount totalPage currentPage hasnfirst haspre hasnext haslast然后写一个公用的jsp面 
    <c:if test=${首页} ></c:if>
    <c:if test=${上一页} ></c:if>
    <c:if test=${下一页} ></c:if>
    <c:if test=${尾页} ></c:if>当然我只是说个意思。想加下柆框。也容易反正只要改变条数 改变 pageSize 就可以了改变页数  改变 currentPage 就可以了