packagedao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importutil.DBHelper;importentity.Items;//商品的业务逻辑类
public classItemsDAO {//获得所有的商品信息
public ArrayListgetAllItems() {
Connection conn= null;
PreparedStatement stmt= null;
ResultSet rs= null;
ArrayList list = new ArrayList(); //商品集合
try{
conn=DBHelper.getConnection();
String sql= "select * from items;"; //SQL语句
stmt =conn.prepareStatement(sql);
rs=stmt.executeQuery();while(rs.next()) {
Items item= newItems();
item.setId(rs.getInt("id"));
item.setName(rs.getString("name"));
item.setCity(rs.getString("city"));
item.setNumber(rs.getInt("number"));
item.setPrice(rs.getInt("price"));
item.setPicture(rs.getString("picture"));
list.add(item);//把一个商品加入集合
}return list; //返回集合。
} catch(Exception ex) {
ex.printStackTrace();return null;
}finally{//释放数据集对象
if (rs != null) {try{
rs.close();
rs= null;
}catch(Exception ex) {
ex.printStackTrace();
}
}//释放语句对象
if (stmt != null) {try{
stmt.close();
stmt= null;
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
}//根据商品编号获得商品资料
public Items getItemsById(intid) {
Connection conn= null;
PreparedStatement stmt= null;
ResultSet rs= null;try{
conn=DBHelper.getConnection();
String sql= "select * from items where id=?;"; //SQL语句
stmt =conn.prepareStatement(sql);
stmt.setInt(1, id);
rs=stmt.executeQuery();if(rs.next()) {
Items item= newItems();
item.setId(rs.getInt("id"));
item.setName(rs.getString("name"));
item.setCity(rs.getString("city"));
item.setNumber(rs.getInt("number"));
item.setPrice(rs.getInt("price"));
item.setPicture(rs.getString("picture"));returnitem;
}else{return null;
}
}catch(Exception ex) {
ex.printStackTrace();return null;
}finally{//释放数据集对象
if (rs != null) {try{
rs.close();
rs= null;
}catch(Exception ex) {
ex.printStackTrace();
}
}//释放语句对象
if (stmt != null) {try{
stmt.close();
stmt= null;
}catch(Exception ex) {
ex.printStackTrace();
}
}
}
}//获取最近浏览的前五条商品信息
public ArrayListgetViewList(String list)
{
System.out.println("list:"+list);
ArrayList itemlist = new ArrayList();int iCount=5; //每次返回前五条记录
if(list!=null&&list.length()>0)
{
String[] arr= list.split(",");
System.out.println("arr.length="+arr.length);//如果商品记录大于等于5条
if(arr.length>=5)
{for(int i=arr.length-1;i>=arr.length-iCount;i--)
{
itemlist.add(getItemsById(Integer.parseInt(arr[i])));
}
}else{for(int i=arr.length-1;i>=0;i--)
{
itemlist.add(getItemsById(Integer.parseInt(arr[i])));
}
}returnitemlist;
}else{return null;
}
}
}