⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userinfopage.java~94~

📁 一个基于JAVA的BS结构的宠物诊所管理系统.是当年在学校时写的,大家指点一下.
💻 JAVA~94~
字号:
package gxaccp.t07.guoneng_wei.petclinicmanagesystem.actionform;

import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.http.*;

import org.apache.struts.action.*;
import gxaccp.t07.guoneng_wei.jdbc.*;

public class UserInfoPage
    extends ActionForm implements Serializable {
  private int currentPage = 1; //当前是第几页
  private int maxPage = 0; //一共有多少页
  private int maxRowCount = 0; //一共有多少行
  private int rowsPerPage = 5; //每页多少行
  private Vector data = null;

//关于动态的字符串,是不可以在对象最初生成的时候就初始化的,而应该用方法动态操作
  private String queryString = "";
  public UserInfoPage() {
  }

  public void init(int currentPage) {
    Connection con = DataBaseAccess.getConnection(); //连接数据库
    this.setCurrentPage(currentPage);//当前页的设置
    this.setMaxRowCount(this.rowsCount(con)); //查询总共有多少行计录
    this.setMaxPage(this.evaluMaxPage()); //计算出有多少页
    this.setData(this.selectData(con)); //查询出当前页数据
    DataBaseAccess.closeConnection(con);//关闭数据库链接
    System.out.println(this.queryString);
    if
  }

  public void setCurrentPage(int currentPage) {
    this.currentPage = currentPage;
  }

  public void setMaxPage(int maxPage) {
    this.maxPage = maxPage;
  }

  public void setMaxRowCount(int maxRowCount) {
    this.maxRowCount = maxRowCount;
  }

  public void setRowsPerPage(int rowsPerPage) {
    this.rowsPerPage = rowsPerPage;
  }

  public void setData(Vector data) {
    this.data = data;
  }

  private void setQueryString() {
//关于动态的字符串,是不可以在对象最初生成的时候就初始化的,而应该用方法动态操作
    this.queryString = "SELECT TOP " + this.rowsPerPage + /*每页多少行*/
        " * FROM UserInfo WHERE ID NOT IN(SELECT TOP " +
        ( (this.currentPage - 1) * this.rowsPerPage) +
        " ID FROM UserInfo )"; /*当前页码-1乘以每页最大行数*/
  }

  public int getCurrentPage() {
    return currentPage;
  }

  public int getMaxPage() {
    return maxPage;
  }

  public int getMaxRowCount() {
    return maxRowCount;
  }

  public int getRowsPerPage() {
    return rowsPerPage;
  }

  public Vector getData() {
    return data;
  }

  public String getQueryString() {
    this.setQueryString();//设置查询字符串并返回
    return queryString;
  }

  private Vector selectData(Connection con) {
    PreparedStatement pst = null;
    ResultSet rs = null;
    Vector v = new Vector();
    boolean flag = false;
    try {
      pst = con.prepareStatement(this.getQueryString()); //注意动态提取查询字符串
      rs = pst.executeQuery();
      while (rs.next()) {
//      ID          UserName   UserPassword     IsAdmin
        flag = true;
        UserInfo ui = new UserInfo();
        ui.setUserID(rs.getString("ID"));
        ui.setUserName(rs.getString("UserName"));
        ui.setUserPassword(rs.getString("UserPassword"));
        ui.setIsAdmin(rs.getString("IsAdmin"));
//        ui.setAdmin(rs.getString("IsAdmin").equals("1")?true:false);
        v.addElement(ui);
      }

      if (flag) {
        return v;
      }

    }
    catch (Exception ex) {
      System.out.println("异常出现在 selectData 方法中,查询当前页用户数据时");
      System.out.println("<<" + ex + ">>");
    }
    finally {
      DataBaseAccess.closeResultSet(rs);
      DataBaseAccess.closeStatement(pst);
    }
    return null;
  }

  private int rowsCount(Connection con) {
    PreparedStatement pst = null;
    ResultSet rs = null;
    String select = "SELECT COUNT(*) FROM UserInfo";
    int rowsNum = 0;
    try {
      pst = con.prepareStatement(select);
      rs = pst.executeQuery();
      if (rs.next()) {
        rowsNum = rs.getInt(1);
      }
    }
    catch (Exception ex) {
      System.out.println("异常出现在 rowsCount 方法中,查询用户行数时");
      System.out.println("<<" + ex + ">>");
    }
    finally {
      DataBaseAccess.closeResultSet(rs);
      DataBaseAccess.closeStatement(pst);
    }
    return rowsNum;
  }

  private int evaluMaxPage() {

    if (this.maxRowCount % this.rowsPerPage == 0) {
      return this.maxRowCount / this.rowsPerPage;
    }
    else {
      return this.maxRowCount / this.rowsPerPage + 1;
    }
  }

  public ActionErrors validate(ActionMapping actionMapping,
                               HttpServletRequest httpServletRequest) {
    /** @todo: finish this method, this is just the skeleton.*/
    /*只供参考,为防忘记 */
    boolean flag = false;
    ActionErrors errors = new ActionErrors();
    if (flag) {
      errors.add("错误键", new ActionError("错误消息"));
      flag = true;
    }
    if (flag) {
      errors.add("错误键", new ActionError("错误消息"));
      flag = true;
    }
    if (flag) {
      return errors; //验证不合格者,返回封装了错误信息的ActionErrors对象
    }
    return null; ////验证合格者,返回null
  }

  public void reset(ActionMapping actionMapping,
                    HttpServletRequest servletRequest) {

  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -