问答详情
源自:2-7 购物车类的设计

dao和items不清楚

我想知道dao和items里面代码怎么写的,要不无从下手,求dao和items的代码

提问者:心跳7 2016-11-04 14:14

个回答

  • Zs_
    2016-11-05 17:07:46
    已采纳

    package entity;
    
    //商品类
    public class Items {
    
    	private int id; // 商品编号
    	private String name; // 商品名称
    	private String city; // 产地
    	private int price; // 价格
    	private int number; // 库存
    	private String picture; // 商品图片
    
    	//保留此不带参数的构造方法
    	public Items()
    	{
    		
    	}
    	
    	public Items(int id,String name,String city,int price,int number,String picture)
    	{
    		this.id = id;
    		this.name = name;
    		this.city = city;
    		this.picture = picture;
    		this.price = price;
    		this.number = number;
    		
    	}
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getCity() {
    		return city;
    	}
    
    	public void setCity(String city) {
    		this.city = city;
    	}
    
    	public int getPrice() {
    		return price;
    	}
    
    	public void setPrice(int price) {
    		this.price = price;
    	}
    
    	public int getNumber() {
    		return number;
    	}
    
    	public void setNumber(int number) {
    		this.number = number;
    	}
    
    	public String getPicture() {
    		return picture;
    	}
    
    	public void setPicture(String picture) {
    		this.picture = picture;
    	}
    	
    	
    	
    	@Override
    	public int hashCode() {
    		// TODO Auto-generated method stub
    		return this.getId()+this.getName().hashCode();
    	}
    
    	@Override
    	public boolean equals(Object obj) {
    		// TODO Auto-generated method stub
    		if(this==obj)
    		{
    			return true;
    		}
    		if(obj instanceof Items)
    		{
    			Items i = (Items)obj;
    			if(this.getId()==i.getId()&&this.getName().equals(i.getName()))
    			{
    				return true;
    			}
    			else
    			{
    				return false;
    			}
    		}
    		else
    		{
    			return false;
    		}
    	}
    
    	public String toString()
    	{
    		return "商品编号:"+this.getId()+",商品名称:"+this.getName();
    	}
    
    }


  • Zs_
    2016-11-05 17:08:23

    package dao;


    import java.sql.Connection;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.util.ArrayList;


    import util.DBHelper;


    import entity.Items;


    //商品的业务逻辑类

    public class ItemsDAO {


    // 获得所有的商品信息

    public ArrayList<Items> getAllItems() {

    Connection conn = null;

    PreparedStatement stmt = null;

    ResultSet rs = null;

    ArrayList<Items> list = new ArrayList<Items>(); // 商品集合

    try {

    conn = DBHelper.getConnection();

    String sql = "select * from items;"; // SQL语句

    stmt = conn.prepareStatement(sql);

    rs = stmt.executeQuery();

    while (rs.next()) {

    Items item = new Items();

    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(int id) {

    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 = new Items();

    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"));

    return item;

    } 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 ArrayList<Items> getViewList(String list)

    {

    System.out.println("list:"+list);

    ArrayList<Items> itemlist = new ArrayList<Items>();

    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])));

        }

       }

       return itemlist;

    }

    else

    {

    return null;

    }

    }


    }