Java web 分页查询

来源:互联网 发布:qq飞车暗夜黄蜂数据 编辑:程序博客网 时间:2024/05/16 06:29

平时每次写分页的时,都要重新写一遍。。。感觉比较麻烦,但是这东西是一个模板,可以直接拿过来用。这里仅仅给自己记录一个模板。(部分代拿的别人的,原作者看到勿怪。原博客http://www.jb51.net/article/87274.htm)
JDBCUtils.class 用来连接数据库和关闭数据库,这里用的是mysql数据库

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class JDBCUtils {    private Connection conn = null;    private PreparedStatement pstmt = null;    /**     * connect 连接数据库     *      * @return     */    public Connection connect() {        String user = "root";        String password = "root";        String driverClass = "com.mysql.jdbc.Driver";        String jdbcUrl = "jdbc:mysql://localhost:3306/jwfz";        try {            Class.forName(driverClass);            conn = DriverManager.getConnection(jdbcUrl, user, password);        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return conn;    }    /**     * close 关闭数据库     *      * @param conn     * @param pstmt     * @param resu     */    public void close(Connection conn, PreparedStatement pstmt, ResultSet result) {        if (conn != null) {            try {                conn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block            }        }        if (pstmt != null) {            try {                pstmt.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        if (result != null) {            try {                result.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }}

UserDao.class 用来获取数据库中页面

import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import test.dao.JDBCUtils;import test.userdomain.User;public class UserDao {    /**     * 计算总的页数     *      * @return     */    public int getPage() {        int recordCount = 0, t1 = 0, t2 = 0;        PreparedStatement pstmt = null;        ResultSet result = null;        JDBCUtils jdbc = new JDBCUtils();        Connection conn = jdbc.connect();        String sql = "select count(*) from student";        try {            pstmt = conn.prepareStatement(sql);            result = pstmt.executeQuery();            result.next();            recordCount = result.getInt(1);            t1 = recordCount % 5;            t2 = recordCount / 5;        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            jdbc.close(conn, pstmt, result);        }        if (t1 != 0) {            t2 = t2 + 1;        }        return t2;    }    /**     * 查询指定页的数据     *      * @param pageNo     * @return     */    public List<User> listUser(int pageNo,String stuNum) {        PreparedStatement pstmt = null;        ResultSet result = null;        List<User> list = new ArrayList<User>();        int pageSize = 5;        int page = (pageNo - 1) * 5;        JDBCUtils jdbc = new JDBCUtils();        Connection conn = jdbc.connect();        StringBuilder sb=new StringBuilder("select * from student  where 1=1 ");        if(stuNum!=null&&stuNum!=""){            sb.append(" and stuNum like '%"+stuNum+"%'");        }        sb.append(" limit ?,? ");        try {            pstmt = conn.prepareStatement(sb.toString());            pstmt.setInt(1, page);            pstmt.setInt(2, pageSize);            result = pstmt.executeQuery();            while (result.next()) {                User user = new User();                user.setStuNum(result.getString(1));                user.setStuPass(result.getString(2));                user.setStuName(result.getString(3));                user.setStuInstitute(result.getString(4));                user.setStuProfession(result.getString(5));                user.setStuClass(result.getString(6));                user.setStuPhoneNum(result.getString(7));                user.setShenhestatu(result.getString(8));                user.setcOLUME1(result.getString(9));                list.add(user);            }        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            jdbc.close(conn, pstmt, result);        }        return list;    }}

userdomian.class user的实体类

public class User {    public String stuNum;    public String stuPass;    public String stuName;    public String stuInstitute;    public String stuProfession;    public String stuClass;    public String stuPhoneNum;    public String shenhestatu;    public String cOLUME1;    public String getStuNum() {        return stuNum;    }    public String getStuPass() {        return stuPass;    }    public String getStuName() {        return stuName;    }    public String getStuInstitute() {        return stuInstitute;    }    public String getStuProfession() {        return stuProfession;    }    public String getStuClass() {        return stuClass;    }    public String getStuPhoneNum() {        return stuPhoneNum;    }    public String getShenhestatu() {        return shenhestatu;    }    public String getcOLUME1() {        return cOLUME1;    }    public void setStuNum(String stuNum) {        this.stuNum = stuNum;    }    public void setStuPass(String stuPass) {        this.stuPass = stuPass;    }    public void setStuName(String stuName) {        this.stuName = stuName;    }    public void setStuInstitute(String stuInstitute) {        this.stuInstitute = stuInstitute;    }    public void setStuProfession(String stuProfession) {        this.stuProfession = stuProfession;    }    public void setStuClass(String stuClass) {        this.stuClass = stuClass;    }    public void setStuPhoneNum(String stuPhoneNum) {        this.stuPhoneNum = stuPhoneNum;    }    public void setShenhestatu(String shenhestatu) {        this.shenhestatu = shenhestatu;    }    public void setcOLUME1(String cOLUME1) {        this.cOLUME1 = cOLUME1;    }}

ListUser.class ListUser Servlet

import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import test.userdao.UserDao;import test.userdomain.User;public class ListUser extends HttpServlet {    public ListUser() {        super();    }    public void destroy() {        super.destroy(); // Just puts "destroy" string in log        // Put your code here    }    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doPost(request, response);    }    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        response.setCharacterEncoding("utf-8");        int pageNo = 1;        String stuNum=request.getParameter("stuNum");        UserDao userdao = new UserDao();        List<User> lists = new ArrayList<User>();        String pageno = request.getParameter("pageNos");        if (pageno != null) {            pageNo = Integer.parseInt(pageno);        }        lists = userdao.listUser(pageNo,stuNum);        if(stuNum!=null&&stuNum!=""){            request.setAttribute("stuNum",stuNum);        }else{            stuNum="";        }        request.setAttribute("recordCount", userdao.getPage(stuNum));        request.setAttribute("listss", lists);        request.setAttribute("pageNos", pageNo);        request.getRequestDispatcher("test.jsp").forward(request, response);    }    public void init() throws ServletException {        // Put your code here    }}

test.jsp**页面(js验证写的不全,以后用到再补充)**

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%><%    String path = request.getContextPath();    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'userlist.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><style type="text/css">th, td {    width: 150px;    border: 2px solid gray;    text-align: center;}body {    text-align: center;}a {    text-decoration: none;}table {    border-collapse: collapse;}</style></head><body><form action="ListUser" method="get"><input type="text" name="stuNum"><button type="submit">提交</button></form>    <h2 align="center">个人信息</h2>    <table align="center">        <tr>            <td>学号</td>            <td>密码</td>            <td>姓名</td>            <td>院系</td>            <td>专业</td>            <td>班级</td>            <td>邮箱</td>            <td>电话</td>            <td>状态</td>        </tr>    </table>    <table align="center">        <c:forEach items="${listss}" var="person">            <tr>                <td class="hidden-480">${person.stuNum}</td>                <td class="hidden-480">${person.stuPass }</td>                <td class="hidden-480">${person.stuName }</td>                <td class="hidden-480">${person.stuInstitute}</td>                <td class="hidden-480">${person.stuProfession }</td>                <td class="hidden-480">${person.stuClass }</td>                <td class="hidden-480">${person.stuPhoneNum}</td>                <td class="hidden-480">${person.shenhestatu }</td>                <td class="hidden-480">${person.cOLUME1 }</td>            </tr>        </c:forEach>    </table>    <br>    <c:if test="${pageNos>1 }">        <a href="ListUser?pageNos=1&stuNum=${stuNum}">首页</a>        <a href="ListUser?pageNos=${pageNos-1 }&stuNum=${stuNum}">上一页</a>    </c:if>    <c:if test="${pageNos <recordCount }">        <a href="ListUser?pageNos=${pageNos+1 }&stuNum=${stuNum}">下一页</a>        <a href="ListUser?pageNos=${recordCount }&stuNum=${stuNum}">末页</a>    </c:if>    <form action="ListUser">        <h4 align="center">            共${recordCount}页 <input type="text" value="${pageNos}" name="pageNos"                size="1"><input type="submit" value="跳转">        </h4>    </form></body></html>
原创粉丝点击