⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sectiondao.java

📁 网上购物系统
💻 JAVA
字号:
package tarena.dao;

import java.math.BigInteger;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.criterion.Example;

import tarena.dao.pages.RootForumDAO;
import tarena.data.AbractCategory;
import tarena.data.AbractSection;
import tarena.entity.Section;

/**
 * Data access object (DAO) for domain model class Section.
 * 
 * @see tarena.entity.Section
 * @author MyEclipse Persistence Tools
 */
@SuppressWarnings("unchecked")
public class SectionDAO extends BaseHibernateDAO {
	private static final Log log = LogFactory.getLog(SectionDAO.class);

	// property constants
	public static final String SECTIONNAME = "sectionname";

	public static final String PARENTID = "parentid";

	public static final String DESCRIPTION = "description";

	public static final String MODERATORS = "moderators";

	public static final String PHOTO = "photo";

	public static final String SECTIONTYPE = "sectiontype";

	public void save(Section transientInstance) {		
		try {
			getSession().beginTransaction();
			getSession().save(transientInstance);
			getSession().getTransaction().commit();			
		} catch (RuntimeException re) {			
			throw re;
		}
	}

	public void delete(Section persistentInstance) {		
		try {
			getSession().beginTransaction();
			getSession().delete(persistentInstance);
			getSession().getTransaction().commit();
		} catch (RuntimeException re) {			
			throw re;
		}
	}

	public Section findById(java.lang.Integer id) {	
		if(id==-1) return null;
		try {
			Section instance = (Section) getSession().get(
					"tarena.entity.Section", id);
			return instance;
		} catch (RuntimeException re) {			
			throw re;
		}
	}
	
	

	public List findByExample(Section instance) {
		log.debug("finding Section instance by example");
		try {
			List results = getSession().createCriteria("tarena.entity.Section")
					.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 Section instance with property: " + propertyName
				+ ", value: " + value);
		try {
			String queryString = "from Section 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 findBySectionname(Object sectionname) {
		return findByProperty(SECTIONNAME, sectionname);
	}

	public List findByParentid(Object parentid) {
		return findByProperty(PARENTID, parentid);
	}

	public List findByDescription(Object description) {
		return findByProperty(DESCRIPTION, description);
	}

	public List findByModerators(Object moderators) {
		return findByProperty(MODERATORS, moderators);
	}

	public List findByPhoto(Object photo) {
		return findByProperty(PHOTO, photo);
	}

	public List findBySectiontype(Object sectiontype) {
		return findByProperty(SECTIONTYPE, sectiontype);
	}

	public List findAll() {
		log.debug("finding all Section instances");
		try {
			String queryString = "from Section";
			Query queryObject = getSession().createQuery(queryString);
			return queryObject.list();
		} catch (RuntimeException re) {
			log.error("find all failed", re);
			throw re;
		}
	}

	/**
	 * 查询指定一级板块下的二级板块。
	 * @param categoryid 顶级分类id
	 * @return AbractCategory类型的集合
	 */
	
	public List<AbractSection> listSecondCategory(int categoryid){
		StringBuffer hql=new StringBuffer();
		hql.append("select new tarena.data.AbractSection(id,"+SECTIONNAME+") from Section c where  c."+PARENTID+"=? and c."+SECTIONTYPE+"=2");		
		
//		System.out.println(getSession().createQuery(hql.toString()));
		return  getSession().createQuery(hql.toString())
				.setParameter(0, categoryid)							
				.list();	
//		return new LinkedList<AbractSection>();
	}
	
	/**
	 * 查询指定二级板块下的三级板块。
	 * @param categoryid 顶级分类id
	 * @return AbractCategory类型的集合
	 */
	
	public List<AbractSection> listHotThirdCategory(int categoryid){
		StringBuffer sql=new StringBuffer();
		sql.append("select cat.id,cat."+SECTIONNAME+" ,count(*) n from ");
		sql.append("(select id,"+SECTIONNAME+" from section where  "+PARENTID+"=? and "+SECTIONTYPE+"=3) cat left outer join product p ");
		sql.append("on  (p.cid=cat.id) 	group by cat.id order by n desc");		
		List<Object[]> result= getSession()
							.createSQLQuery(sql.toString())
							.setParameter(0, categoryid)							
							.list();
		List<AbractSection> re=new Vector<AbractSection>();
		for(int i=0;i<result.size();i++){
			Object [] data=result.get(i);
			AbractSection as = new  AbractSection((Integer)data[0],data[1].toString(),((BigInteger)data[2]).intValue()); 
			as.setReply(new RootForumDAO().findReplyUnique(as.getId()));
			re.add(as);
		}
		return re;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -