servlet分页代码示例

1.首先创建一个对象 UserData,用以保存从数据库中获取的数据。

复制代码 代码如下:


package com.tool;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by lx_sunwei on 14-1-6.
 */
public class UserData {

/**
     * EMP表中的数据属性
     */
    private String ename;
    private String job;
    private BigDecimal empno;
    private BigDecimal mgr;
    private Date hireDate;
    private BigDecimal sal;
    private BigDecimal comm;
    private BigDecimal deptno;

public BigDecimal getEmpno() {
        return empno;
    }

public void setEmpno(BigDecimal empno) {
        this.empno = empno;
    }

public BigDecimal getMgr() {
        return mgr;
    }

public void setMgr(BigDecimal mgr) {
        this.mgr = mgr;
    }

public Date getHireDate() {
        return hireDate;
    }

public void setHireDate(Date hireDate) {
        this.hireDate = hireDate;
    }

public BigDecimal getSal() {
        return sal;
    }

public void setSal(BigDecimal sal) {
        this.sal = sal;
    }

public BigDecimal getComm() {
        return comm;
    }

public void setComm(BigDecimal comm) {
        this.comm = comm;
    }

public BigDecimal getDeptno() {
        return deptno;
    }

public void setDeptno(BigDecimal deptno) {
        this.deptno = deptno;
    }

public String getEname() {
        return ename;
    }

public void setEname(String ename) {
        this.ename = ename;
    }

public String getJob() {
        return job;
    }

public void setJob(String job) {
        this.job = job;
    }
}

2.创建一个 DBHelper 对象用以与数据库进行交互

复制代码 代码如下:


package com.dao;

import com.tool.UserData;

import java.math.BigDecimal;
import java.sql.*;
import java.util.*;
import java.util.Date;

/**
 * Created by lx_sunwei on 14-1-6.
 */
public class DBHelper {

Connection conn;  //数据库连接对象
    PreparedStatement pt;  //SQL语句预处理对象
    ResultSet rs;  //结果集对象

public  DBHelper(){
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");  //装载驱动
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

/**
     * 获取当前页的数据
     * @param curPage
     * @param rowsPerPage
     * @return
     */
    public List<UserData> getData(int curPage, int rowsPerPage) {

List<UserData> dataList = new ArrayList<>();
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        try {
            conn = DriverManager.getConnection(url,"scott","tiger");
            String sql = "select * from emp where rownum <= ((? - 1) * "+rowsPerPage+" + "+rowsPerPage+") minus " +
                    " select * from emp where rownum <= (? - 1) * "+rowsPerPage+" ";
            pt = conn.prepareStatement(sql);
            pt.setInt(1,curPage);
            pt.setInt(2,curPage);
            rs = pt.executeQuery();
            while (rs.next()){
                /**
                 * 从结果集中取得数据
                 */
                UserData userData = new UserData();
                BigDecimal empno = rs.getBigDecimal("empno");
                String ename = rs.getString("ename");
                String job = rs.getString("job");
                BigDecimal mgr = rs.getBigDecimal("mgr");
                Date hireDate = rs.getDate("hiredate");
                BigDecimal sal = rs.getBigDecimal("sal");
                BigDecimal comm = rs.getBigDecimal("comm");
                BigDecimal deptno = rs.getBigDecimal("deptno");
                /**
                 * 设置对象属性
                 */
                userData.setEmpno(empno);
                userData.setEname(ename);
                userData.setJob(job);
                userData.setMgr(mgr);
                userData.setHireDate(hireDate);
                userData.setSal(sal);
                userData.setComm(comm);
                userData.setDeptno(deptno);
                dataList.add(userData);  //把对象添加集合中
            }
            rs.close();
            pt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return dataList;
    }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzfdgz.html