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

📄 productlistbean.java

📁 这是本人做的第一个JAVA网站,请大家多提意见
💻 JAVA
字号:
//package eshop;
import java.util.*;
import java.sql.*;


public class ProductListBean {
  private Vector items=new Vector();
  private int pageSize; 	//一页显示的记录数
  private int rowCount;		//ResultSet的记录总数
  private int pageCount;	//ResultSet分页后的总页数
  private int showPage;		//待显示页码,即当前页码数
  private String pageIndex;
  private int pageNumber;	//本页商品个数
  private int productID;
  private Connection conn;

  public ProductListBean() {
  }

  /*从商品列表中得到一种商品的纪录*/
  public Product getItem(int index){
    return (Product)items.elementAt(index);
  }

  /*得到总页数*/
  public int getPageCount(){
    return pageCount;
  }

  /*得到当前页码数*/
  public int getShowPage(){
    return showPage;
  }

  /*得到本页商品个数*/
  public int getPageNumber(){
    return  pageNumber;
  }

  public String getPageIndex(){
    return pageIndex;
  }

  /*设置数据库连接*/
  public void setConn(Connection conn){
    this.conn=conn;
  }

  /*初始化,即重置变量,清空商品列表中的所有商品*/
  public void reset(){
    pageSize=5;
    pageCount=0;
    showPage=1;
    items.removeAllElements();
  }

  /*设置当前页码数*/
  public void setPageIndex(String pageIndex){
    this.pageIndex=pageIndex;
  }

  /*设置商品号*/
  public void setProductID(int productID){
    this.productID=productID;
  }

  /*得到商品号*/
  public int getProductID(){
    return productID;
  }

  /*得到当前要显示的商品*/
  public Product getProduct(){
    try{
      //创建一个可以滚动的只读的SQL语句对象
      Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                            ResultSet.CONCUR_READ_ONLY);
      String sql = "SELECT * FROM PRODUCTS WHERE ProductID=" + productID;
      //System.out.println(sql);
      ResultSet rsProducts = stmt.executeQuery(sql);
      if (rsProducts.next()) {
        Product prod = new Product();
        prod.setProduct(rsProducts.getInt("ProductID"),
                            rsProducts.getString("ProductName"),
                            rsProducts.getString("Coding"),
                            rsProducts.getInt("SupplierID"),
                            rsProducts.getString("CategoryID"),
                            rsProducts.getDouble("SupplierPrice"),
                            rsProducts.getDouble("MarketPrice"),
                            rsProducts.getDouble("Price"),
                            rsProducts.getString("Picture"),
                            rsProducts.getInt("StockNumber"),
                            rsProducts.getInt("SaleNumber"),
                            rsProducts.getString("ModifyMan"),
                            rsProducts.getString("ModifyDate"),
                            "暂无描述"
                     //       rsProducts.getString("Description")
                            );
        return prod;
      }
    }
    catch(SQLException e){
     // e.printStackTrace();
     System.out.println("Exception:getProduct");
    }
    return null;
  }

  /*根据页码号从数据库中得到相应的商品信息,并将其存储到商品列表items中*/
  public void storeItem()
  {
    try
    {
    	      //创建一个可以滚动的只读的SQL语句对象
      Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                            ResultSet.CONCUR_READ_ONLY);
      String sql="SELECT * FROM Products";
      ResultSet rsProducts=stmt.executeQuery(sql);
      //System.out.println("storeItem");
      rsProducts.last();	//将指针移动到最后一条记录
      rowCount=rsProducts.getRow();	//取得ResultSet中记录的总条数
      pageCount=((rowCount%pageSize)==0)?(rowCount/pageSize):(rowCount/pageSize+1);	//计算总页数
      //System.out.println("rowCount:"+rowCount+"pageCount:"+pageCount);
      if(pageIndex==null||pageIndex.equals(""))
      {
        showPage=1;										//URL中不带参数的情况
      }
      else
      {
        //try{
          showPage=Integer.parseInt(pageIndex);				//URL中带参数的情况
        //}
        //catch(NumberFormatException e){
         // showPage=1;
        //}
        if(showPage<1) 
        {
          showPage=1;									//URL中应显示的页面小于1的处理
        }
        else if(showPage>pageCount)
        {
                showPage=pageCount;							//URL中应显示的页面大于页面总数的处理
        }
      }
     // System.out.println("showPage:"+showPage);
      if(showPage*pageSize>=rowCount)
      {
        pageNumber=rowCount-(showPage-1)*pageSize;
      }
      else
      {
        pageNumber=pageSize;
      }
      if(pageCount>0)
      {
        rsProducts.absolute((showPage-1)*pageSize+1);
      }

	 
      for(int i=0;i<pageNumber;i++)
      {
        Product prod=new Product();
        //System.out.println("desp:"+rsProducts.getString("Description"));
         //prod.setProduct(9,"aaa","bbb",9,"ccc",234.5,345.6,45.8,"ddd",9,6,"eee","fff","ggg");
        prod.setProduct(rsProducts.getInt("ProductID"),
                            rsProducts.getString("ProductName"),
                            rsProducts.getString("Coding"),
                            rsProducts.getInt("SupplierID"),
                            rsProducts.getString("CategoryID"),
                            rsProducts.getDouble("SupplierPrice"),
                            rsProducts.getDouble("MarketPrice"),
                            rsProducts.getDouble("Price"),
                            rsProducts.getString("Picture"),
                            rsProducts.getInt("StockNumber"),
                            rsProducts.getInt("SaleNumber"),
                            rsProducts.getString("ModifyMan"),
                            rsProducts.getString("ModifyDate"),
                            "暂无描述"
                         //下面语句会引发异常,为了调试程序方便,先注释该语句
                        //    rsProducts.getString("Description")
                            );
                            
        items.addElement(prod);
        rsProducts.next();
       }

      rsProducts.close();
      stmt.close();
    }
    catch(SQLException e){
    	
//      e.printStackTrace();
     System.out.println("Exception:storeItem");

    }
  }
}

⌨️ 快捷键说明

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