You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<OrderForm> findAllOrderForms() {
String hql = "from OrderForm";
return (List<OrderForm>)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<OrderForm> findOrderFormByUserName(String username) {
// 输出用户名到控制台
System.out.println("用户名:"+username);
// 定义HQL查询语句用于查找指定用户名的订单表单
String hql = "from OrderForm o where o.username=?";
// 使用hibernateTemplate执行HQL查询并返回结果列表
return (List<OrderForm>)hibernateTemplate.find(hql,username);
}
}