// 此方法用于动态条件查询 public Collection find(Product product) throws ManagerProductException { Session session = null; Transaction tran = null; Collection list = null; try { session = HibernateUtils.getSession(); tran = session.beginTransaction(); Criteria crit = session.createCriteria(Product.class); if (product.getAuthor().equals("")) { crit.add(Restrictions.like("author", "%")); } else { crit.add(Restrictions.like("author", "%" + product.getAuthor() + "%")); } if (product.getName().equals("")) { crit.add(Restrictions.like("name", "%")); } else { crit.add(Restrictions.like("name", "%" + product.getName() + "%")); } if (product.getPublish().equals("")) { crit.add(Restrictions.like("publish", "%")); } else { crit.add(Restrictions.like("publish", "%" + product.getPublish() + "%")); } list = crit.list(); tran.commit(); } catch (Exception e) { e.printStackTrace(); tran.rollback(); } finally { session.close(); return list; } }
public ActionForward orderList( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; Session session = null; Transaction tran = null; IOrderDao dao = new OrderDaoHibernateImp(); Order order = new Order(); ShopCart shopCart = (ShopCart) request.getSession().getAttribute("shopCart"); User user = (User) request.getSession().getAttribute("user"); int id = Integer.parseInt(request.getParameter("payWay")); OrderStatus status = new OrderStatus(); status.setId(1); status.setName("配货状态"); status.setDescriptions("订单正在配货状态三天内将发出"); session = HibernateUtils.getSession(); tran = session.beginTransaction(); String hql = "from PayWay p where p.id=:id"; PayWay payWay = (PayWay) session.createQuery(hql).setInteger("id", id).uniqueResult(); tran.commit(); if (shopCart == null) { System.out.println("shopCart is null."); shopCart = new ShopCart(); } order = shopCart.getOrder(); order.setName(user.getName()); order.setPayWay(payWay); order.setStatus(status); order.setUser(user); order.setCost(shopCart.getTotal()); Iterator it = order.getOrderlines().iterator(); OrderLine orderLine = null; while (it.hasNext()) { orderLine = (OrderLine) it.next(); orderLine.setOrder(order); } dao.addOrder(order); List<Order> orderList = (List<Order>) dao.findAll(user.getName()); request.getSession().setAttribute("orderList", orderList); forward = mapping.findForward("orderList"); return forward; }
public int getTotal() throws ManagerProductException { Session session = null; Transaction tran = null; int total = 0; try { session = HibernateUtils.getSession(); tran = session.beginTransaction(); Query query = session.createQuery(" select count(*) from Product "); total = ((Integer) query.uniqueResult()).intValue(); tran.commit(); } catch (Exception e) { tran.rollback(); e.printStackTrace(); } finally { session.close(); return total; } }
public Collection findAll() throws ManagerProductException { Session session = null; Transaction tran = null; Collection list = null; try { session = HibernateUtils.getSession(); tran = session.beginTransaction(); list = session.createQuery(" from Product ").list(); tran.commit(); } catch (Exception e) { e.printStackTrace(); tran.rollback(); throw new ManagerProductException(e.getMessage()); } finally { session.close(); return list; } }
public Product findById(Integer id) throws ManagerProductException { Session session = null; Transaction tran = null; Product product = null; try { session = HibernateUtils.getSession(); tran = session.beginTransaction(); product = (Product) session.get(Product.class, id); tran.commit(); } catch (Exception e) { e.printStackTrace(); tran.rollback(); throw new ManagerProductException(e.getMessage()); } finally { session.close(); return product; } }
public Collection find(int start, int max) throws ManagerProductException { Session session = null; Transaction tran = null; Collection list = null; try { session = HibernateUtils.getSession(); tran = session.beginTransaction(); Query query = session.createQuery(" from Product "); query.setFirstResult(start); query.setMaxResults(max); list = query.list(); tran.commit(); } catch (Exception e) { tran.rollback(); e.printStackTrace(); } finally { session.close(); return list; } }