package dream.ourshopping.persistence; import java.util.List; import org.apache.log4j.Logger; import org.hibernate.LockMode; import org.hibernate.Query; import org.hibernate.Transaction; import org.hibernate.criterion.Example; import dream.ourshopping.domain.Product; /** * Data access object (DAO) for domain model class Product. * * @see com.study.hibernate.Product * @author MyEclipse - Hibernate Tools */ public class ProductDAO extends BaseHibernateDAO { private static Logger log = Logger.getLogger(ProductDAO.class.getName()); // property constants public static final String SORTID = "sortid"; public static final String NAME = "name"; public static final String PRICE = "price"; public static final String SALEPRICE = "saleprice"; public static final String DESCRIPT = "descript"; public static final String CONTENTS = "contents"; public static final String SALECOUNT = "salecount"; public static final String IMAGE = "image"; public void save(Product transientInstance) { log.debug("添加商品"); try { getSession().save(transientInstance); log.debug("添加商品"); } catch (RuntimeException re) { log.error("添加商品出错", re); throw re; } } public void delete(int id) { log.debug("根据ID删除商品 "+id); try { Query q = getSession().createQuery( "delete Product p where p.id=" + id); q.executeUpdate(); log.debug("根据ID删除商品成功!"); } catch (RuntimeException re) { log.error("根据ID删除商品出错!", re); throw re; } } public Product findById(java.lang.Integer id) { log.debug("根据ID查询商品" + id); try { Product instance = (Product) getSession().get( "dream.ourshopping.domain.Product", id); return instance; } catch (RuntimeException re) { log.error("根据ID查询商品出错!", re); throw re; } } public List findBySortId(java.lang.Integer id, int begin, int size) { log.debug("根据类别ID查询商品 " + id); try { Query q = getSession().createQuery( "from Product p where p.sort.id=" + id); q.setFirstResult(begin); q.setMaxResults(size); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("根据类别ID查询商品出错!", re); throw re; } } public List findBySortIdCount(java.lang.Integer id) { log.debug("根据类别ID查询商品总数 " + id); try { Query q = getSession().createQuery( "select count(*) from Product p where p.sort.id=" + id); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("根据类别ID查询商品总数出错!", re); throw re; } } public List findLikeByName(java.lang.String name, int beginnum, int size) { log.debug("根据商品名称模糊查询商品 " + name); try { name = "'%" + name + "%'"; Query q = getSession().createQuery( "from Product p where p.name like " + name); q.setFirstResult(beginnum); q.setMaxResults(size); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("根据商品名称模糊查询商品出错!", re); throw re; } } public List findLikeByNameCount(java.lang.String name) { log.debug("根据商品名称模糊查询商品总数 " + name); try { name = "'%" + name + "%'"; Query q = getSession().createQuery( "select count(*) from Product p where p.name like " + name); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("根据商品名称模糊查询商品总数出错!", re); throw re; } } public List findHot() { log.debug("查询销售排行前四名商品 "); try { Query q = getSession().createQuery( "from Product sort order by sort.salecount desc"); q.setFirstResult(0); q.setMaxResults(4); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("查询销售排行前四名商品出错!", re); throw re; } } public List findMaxId() { log.debug("查询商品最大ID "); try { Query q = getSession() .createQuery("select max(p.id)from Product p"); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("查询商品最大ID出错!", re); throw re; } } public List findByLikeName(String name,int beginnum) { log.debug("商品模糊查询 "+name); try { name="'%"+name+"%'"; Query q = getSession().createQuery( "from Product p where p.name like "+name ); q.setFirstResult(beginnum); q.setMaxResults(10); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("商品模糊查询", re); throw re; } } public List findCountByLikeName(String name) { log.debug("商品模糊查询 "+name); try { name="'%"+name+"%'"; Query q = getSession().createQuery( "select count(*) from Product p where p.name like "+name ); List instance = q.list(); return instance; } catch (RuntimeException re) { log.error("商品模糊查询", re); throw re; } } public List findByExample(Product instance) { log.debug("finding Product instance by example"); try { List results = getSession().createCriteria( "dream.ourshopping.domain.Product").add( Example.create(instance)).list(); log.debug("find by example successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find by example failed", re); throw re; } } public List findByProperty(String propertyName, Object value) { log.debug("finding Product instance with property: " + propertyName + ", value: " + value); try { String queryString = "from Product as model where model." + propertyName + "= ?"; Query queryObject = getSession().createQuery(queryString); queryObject.setParameter(0, value); return queryObject.list(); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } public List findBySortid(Object sortid) { return findByProperty(SORTID, sortid); } public List findByName(Object name) { return findByProperty(NAME, name); } public Product merge(Product detachedInstance) { log.debug("merging Product instance"); try { Transaction ts = getSession().beginTransaction(); Product result = (Product) getSession().merge(detachedInstance); ts.commit(); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } public void attachDirty(Product instance) { log.debug("attaching dirty Product instance"); try { getSession().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public void attachClean(Product instance) { log.debug("attaching clean Product instance"); try { getSession().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } }
相关推荐
javaweb期末作业大学活动管理系统源码javaweb期末作业大学活动管理系统源码javaweb期末作业大学活动管理系统源码javaweb期末作业大学活动管理系统源码javaweb期末作业大学活动管理系统源码javaweb期末作业大学活动...
javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码javaWEB 人力资源管理系统源码...
JavaWeb开发实战源码是学习和理解Web应用程序开发的一个重要资源。这个压缩包可能包含了从基础到高级...同时,对于初学者来说,这是一个很好的实践和学习平台,可以对照源码逐步学习和调试,加深对JavaWeb开发的理解。
基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘...
基于javaWeb的博客系统毕业设计项目源码(完美注释+高分必看)也可以作为期末大作业和自己研究,前后端分离的博客系统,难度适中,新手也可自己实操。 基于javaWeb的博客系统毕业设计项目源码(完美注释+高分必看...
java源码 仿360buy京东商城源码 京东JavaWeb项目源代码.zipjava源码 仿360buy京东商城源码 京东JavaWeb项目源代码.zipjava源码 仿360buy京东商城源码 京东JavaWeb项目源代码.zipjava源码 仿360buy京东商城源码 京东...
毕业设计基于JAVAWEB开发的宠物商城系统项目源码毕业设计基于JAVAWEB开发的宠物商城系统项目源码毕业设计基于JAVAWEB开发的宠物商城系统项目源码毕业设计基于JAVAWEB开发的宠物商城系统项目源码毕业设计基于JAVAWEB...
基于javaweb的学生成绩管理系统项目源码基于javaweb的学生成绩管理系统项目源码基于javaweb的学生成绩管理系统项目源码基于javaweb的学生成绩管理系统项目源码基于javaweb的学生成绩管理系统项目源码基于javaweb的...
本资源"javaweb增删改查(含源码).zip"提供了从基础到进阶的JavaWeb应用实例,主要涵盖了JSP、Servlet以及MVC设计模式的运用,旨在帮助开发者理解如何在实际项目中实现数据的增删改查操作。 首先,JSP(JavaServer...
JavaWeb是Java编程领域中的一个重要组成部分,主要涉及Web应用程序的开发和实现。黑马程序员是一家知名的IT教育机构,他们提供的...结合理论学习和实战演练,将有助于提升Web开发技能,成为一名合格的JavaWeb开发者。
JavaWeb商城购买_javaweb购物商城_网上购物项目源码+数据库JavaWeb商城购买_javaweb购物商城_网上购物项目源码+数据库JavaWeb商城购买_javaweb购物商城_网上购物项目源码+数据库JavaWeb商城购买_javaweb购物商城_...
基于javaweb的企业内部员工订餐系统源码+数据库.zip基于javaweb的企业内部员工订餐系统源码+数据库.zip基于javaweb的企业内部员工订餐系统源码+数据库.zip基于javaweb的企业内部员工订餐系统源码+数据库.zip基于...
【基于Javaweb的网上商城项目源码】是一个典型的Web开发示例,它涵盖了Java Web开发中的核心技术和实践。这个项目使用了Servlet技术作为后端处理,与前端交互,实现了用户登录注册、商品分类展示、多条件查询等功能...
JavaWeb的期末项目酒店管理系统源码+数据库.zip JavaWeb 作业,即简单的酒店管理系统。 JavaWeb的期末项目酒店管理系统源码+数据库.zip JavaWeb 作业,即简单的酒店管理系统。JavaWeb的期末项目酒店管理系统源码+...
基于JavaWeb的电影院售票管理系统源码+数据库.zip 95分以上高分课程设计,下载即用无需修改。 基于JavaWeb的电影院售票管理系统源码+数据库.zip 95分以上高分课程设计,下载即用无需修改。基于JavaWeb的电影院售票...
基于Javaweb的咖啡厅在线点餐系统源码.zip基于Javaweb的咖啡厅在线点餐系统源码.zip基于Javaweb的咖啡厅在线点餐系统源码.zip基于Javaweb的咖啡厅在线点餐系统源码.zip基于Javaweb的咖啡厅在线点餐系统源码.zip基于...
基于javaweb的实验室设备管理系统源码+数据库.zip内附使用说明。可作为课程设计、期末大作业等。 基于javaweb的实验室设备管理系统源码+数据库.zip内附使用说明。可作为课程设计、期末大作业等。 基于javaweb的实验...
javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目源码javaweb图书馆管理系统项目...
javaweb新奥家电连锁网络系统源码javaweb新奥家电连锁网络系统源码javaweb新奥家电连锁网络系统源码javaweb新奥家电连锁网络系统源码javaweb新奥家电连锁网络系统源码javaweb新奥家电连锁网络系统源码javaweb新奥...