package cn.itbaizhan.dao.impl; import java.sql.SQLException; import java.util.List; import javax.annotation.Resource; import org.hibernate.HibernateException; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import cn.itbaizhan.dao.CommodityDao; import cn.itbaizhan.po.Commodity; import cn.itbaizhan.po.CommodityClass; // 实现CommodityDao接口的类,用于操作Commodity实体 @Component("commodityDaoImpl") public class CommodityDaoImpl implements CommodityDao { // 使用spring对Hibernate的模版 HibernateTemplate @Resource(name="hibernateTemplate") private HibernateTemplate hibernateTemplate; // 删除指定的商品 public void delete(Commodity commodity) { hibernateTemplate.delete(commodity); } // 查询所有商品 @SuppressWarnings("unchecked") public List findAllCommoditys() { String hql = "from Commodity"; return (List)hibernateTemplate.find(hql); } // 根据商品名模糊查询商品 @SuppressWarnings("unchecked") public List findCommodityByName(String Name) { System.out.println("商品名:"+Name); String hql = "from Commodity c where c.commodityName like ?"; return (List)hibernateTemplate.find(hql,"%"+Name+"%"); } // 根据商品种类查询商品 @SuppressWarnings("unchecked") public List findCommodityByClass(CommodityClass commodityclass) { System.out.println("种类:"+commodityclass); String hql = "from Commodity c where c.commodityClass = ?"; return (List)hibernateTemplate.find(hql,commodityclass); } // 根据商品ID查询商品 public Commodity findCommodityById(int id) { Commodity commodity = (Commodity)hibernateTemplate.get(Commodity.class, id); return commodity; } // 保存新的商品 public void save(Commodity commodity) { System.out.println(commodity); hibernateTemplate.save(commodity); } // 更新指定的商品信息 public void update(Commodity commodity) { hibernateTemplate.update(commodity); } // 获取HibernateTemplate实例 public HibernateTemplate getHibernateTmeplate() { return hibernateTemplate; } // 设置HibernateTemplate实例 public void setHibernateTmeplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } // 根据商品名精确查找商品 public List findCommodityBName(String Name) { System.out.println("商品名:"+Name); String hql = "from Commodity c where c.commodityName = ?"; return (List)hibernateTemplate.find(hql,Name); } }