📄 productlistbean.java~63~
字号:
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{
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql = "SELECT * FROM PRODUCTS WHERE ProductID=" + productID;
ResultSet rsProducts = stmt.executeQuery(sql);
if (rsProducts.next()) {
Product product1 = new Product();
product1.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 product1;
}
}
catch(SQLException e){
e.printStackTrace();
}
return null;
}
/*根据页码号从数据库中得到相应的商品信息,并将其存储到商品列表items中*/
public void storeItem(){
try{
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="SELECT * FROM Products";
ResultSet rsProducts=stmt.executeQuery(sql);
rsProducts.last(); //将指针移动到最后一条记录
rowCount=rsProducts.getRow(); //取得ResultSet中记录的总条数
pageCount=((rowCount%pageSize)==0)?(rowCount/pageSize):(rowCount/pageSize+1); //计算总页数
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中应显示的页面大于页面总数的处理
}
}
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 product1=new Product();
product1.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(product1);
rsProducts.next();
}
rsProducts.close();
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -