package cn.itbaizhan.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import cn.itbaizhan.dao.OrderFormDao; import cn.itbaizhan.po.Commodity; import cn.itbaizhan.po.OrderForm; import cn.itbaizhan.po.User; // 订单持久层实现类,使用Spring的HibernateTemplate进行数据库操作 @Component("orderFormDaoImpl") public class OrderFormDaoImpl implements OrderFormDao { // 使用spring对Hibernate的模版 HibernateTemplate @Resource(name="hibernateTemplate") private HibernateTemplate hibernateTemplate; // 删除指定的订单 public void delete(OrderForm orderForm) { // 删除指定的订单表单对象 hibernateTemplate.delete(orderForm); } // 获取所有订单列表 @SuppressWarnings("unchecked") public List findAllOrderForms() { String hql = "from OrderForm"; return (List)hibernateTemplate.find(hql); } // 根据ID查找订单 // 根据ID查找订单表单 public OrderForm findOrderFormById(int id) { OrderForm orderForm = (OrderForm)hibernateTemplate.get(OrderForm.class, id); return orderForm; } // 保存新的订单 // 保存订单表单的方法 public void save(OrderForm orderForm) { System.out.println(orderForm); // 打印订单表单信息 hibernateTemplate.save(orderForm); // 使用 Hibernate 模板保存订单表单到数据库 } // 更新指定的订单 /** * 更新订单表单信息 * @param orderForm 需要更新的订单表单对象 */ public void update(OrderForm orderForm) { hibernateTemplate.update(orderForm); } // 获取HibernateTemplate对象 public HibernateTemplate getHibernateTmeplate() { return hibernateTemplate; } // 设置HibernateTemplate对象 /** * 设置 HibernateTemplate 实例的方法 * * @param hibernateTemplate HibernateTemplate 实例 */ public void setHibernateTmeplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } } // 根据订单ID查询订单 // 根据订单表ID查询订单表信息 public OrderForm queryOrderForm(int orderFormId) { // 根据 orderFormId 查询 OrderForm 对象 return (OrderForm)hibernateTemplate.getSessionFactory().openSession().createQuery( "from OrderForm o where o.orderFormId=? ").setParameter( 0, orderFormId).uniqueResult(); } // 根据用户名查找订单列表 @SuppressWarnings("unchecked") // 根据用户名查找订单表单 public List findOrderFormByUserName(String username) { // 输出用户名到控制台 System.out.println("用户名:"+username); // 定义HQL查询语句,用于查找指定用户名的订单表单 String hql = "from OrderForm o where o.username=?"; // 使用hibernateTemplate执行HQL查询,并返回结果列表 return (List)hibernateTemplate.find(hql,username); } }