orderdaoimpl.java
来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 184 行
JAVA
184 行
package com.yuanchung.sales.dao.order.impl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.yuanchung.sales.dao.order.OrderDAO;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.businessOpportunity.BusinessOpportunity;
import com.yuanchung.sales.model.customer.Customer;
import com.yuanchung.sales.model.customer.CustomerContact;
import com.yuanchung.sales.model.order.Order;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.vo.order.CustomerOrderVo;
public class OrderDAOImpl extends HibernateDaoSupport implements OrderDAO {
// 根据客户ID查找客户
public Customer getCustomerById(int customerId) throws DataAccessException {
return (Customer) this.getHibernateTemplate().find(
"from Customer c where c.id=? and c.flag=1", customerId).get(0);
}
// 根据用户查找客户
public List getCustomerByUser(User user, int flag)
throws DataAccessException {
return this.getHibernateTemplate().find(
"from Customer as c where c.user=? and c.flag=?",
new Object[] { user, flag });
}
// 根据名称模糊查找客户
public List getCustomerByNamelike(User user, String customerName)
throws DataAccessException {
return this.getHibernateTemplate().find(
"from Customer as c where 1=1 "
+ "c.flag=1 and c.user=? and c.customerName like '%"
+ customerName + "%'", user);
}
/*
* //保存用户自定义选项 public void saveUserDefined(UserDefined userDefined) throws
* DataAccessException { this.getHibernateTemplate().save(userDefined); }
*
* //保存自定义选项过滤条件 public void saveUserFilter(UserFilter userFilter) throws
* DataAccessException { this.getHibernateTemplate().save(userFilter); }
*
* //保存用户显示字段 public void saveUserField(UserField userField) throws
* DataAccessException { this.getHibernateTemplate().save(userField); }
*
* //根据用户和类型查找选项 public List getUserDefinedByUserAndType(User user, int
* type) throws DataAccessException { return this.getHibernateTemplate()
* .find( "from UserDefined as ud where ud.user=? and ud.type=? order by
* ud.inDate desc", new Object[] { user, type }); }
*
* //根据id搜索选项 public UserDefined getUserDefinedById(int userDefinedId)
* throws DataAccessException { return
* (UserDefined)this.getHibernateTemplate().get(UserDefined.class,userDefinedId); }
*
* //根据选项查找过滤条件 public List getUserFilterByOption(UserDefined userDefined)
* throws DataAccessException { return
* this.getHibernateTemplate().find("from UserDefiend uf where
* uf.userDefined=?",userDefined); }
*
* //根据选项搜索显示字段 public UserField getUserFieldByOption(UserDefined
* userDefined) throws DataAccessException { return
* (UserField)this.getHibernateTemplate().find("from UserField uf where
* uf.userDefined=?",userDefined); }
*
* //更新用户选项 public void updateUserDefined(UserDefined userDefined) throws
* DataAccessException {
* this.getHibernateTemplate().saveOrUpdate(userDefined); }
*
* //根据id查询过滤条件 public UserFilter getUserFilter(int id) throws
* DataAccessException { return
* (UserFilter)this.getHibernateTemplate().get(UserFilter.class, id); }
*
* //更新过滤条件 public void updateUserFilter(UserFilter userFilter) throws
* DataAccessException {
* this.getHibernateTemplate().saveOrUpdate(userFilter); }
*
* //修改显示字段 public void updateUserField(UserField userField) throws
* DataAccessException { this.getHibernateTemplate().update(userField); }
*/
// 1.查找所有的订单
public List getAllOrder(User user) throws DataAccessException {
return this
.getHibernateTemplate()
.find(
"from Order o where o.flag=1 and o.user=? order by o.orderDate desc",
user);
}
// 2.根据客户名称查找订单
public List<CustomerOrderVo> getOrderByCustomerName(String customerName)
throws DataAccessException {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session
.createSQLQuery("select *from order o,customer c where 1=1 and o.customerId=c.id and c.Customer_name='customerName'");
List<CustomerOrderVo> list = query.list();
return list;
}
});
}
// 3.保存订单
public void save(Order order) throws DataAccessException {
this.getHibernateTemplate().save(order);
}
// 4.修改订单
public void update(Order order) throws DataAccessException {
this.getHibernateTemplate().update(order);
}
// 5.删除订单
public void delete(Order order) throws DataAccessException {
this.getHibernateTemplate().delete(order);
}
// 6.搜索前面几张订单的记录
public List getTopOrder() throws DataAccessException {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session
.createSQLQuery(
"SELECT * FROM order o where 1=1 and o.flag=1 order by orderDate desc")
.addEntity(Order.class);
List list = query.list();
return list;
}
});
}
// 7.搜索删除状态的订单
public List getOrderByDelete(User user, int flag)
throws DataAccessException {
try {
return getHibernateTemplate()
.find(
"from Order as o where o.user=? and o.flag=? order by o.orderDate desc",
new Object[] { user, flag }); // 2为删除状态;
} catch (Exception e) {
e.printStackTrace();
logger.debug("find order error!");
throw new SystemException("find order error!");
}
}
// 8.查询最近的订单
public Order getLastestOrder() throws DataAccessException {
return (Order) this
.getHibernateTemplate()
.find(
"from order as o where o.orderId >= (select max(o.orderId) from Order as 00)").get(0);
}
// 9.根据ID查找联系人
public CustomerContact getCustomerContactById(int customercontactId)
throws DataAccessException {
return (CustomerContact) getHibernateTemplate().get(
CustomerContact.class, customercontactId);
}
// 10.根据订单号查找订单
public Order getOrderById(int orderId) {
return (Order) getHibernateTemplate().get(Order.class, orderId);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?