adimpl.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 109 行

JAVA
109
字号
/* 
 * Created on 2006-3-4
 * Last modified on 2007-12-20
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.dao.hibernate.impl;

import java.util.List;

import com.yeqiangwei.club.dao.AdDAO;
import com.yeqiangwei.club.dao.hibernate.support.HibernateFacade;
import com.yeqiangwei.club.dao.hibernate.support.HibernateProvider;
import com.yeqiangwei.club.model.Ad;
import com.yeqiangwei.club.param.AdParameter;

public class AdImpl implements AdDAO {
	
	private static final String FIND_ADID = "from Ad where adId=?";
	
	private static final String DELETE_ADID = "delete from Ad where adId=?";
	
	private static final String DELETES_ADID = "delete from Ad where adId in (:ids)";
	
	private static final String FIND_ALL = "from Ad order by area";
	
	private static final String COUNT_ALL = "select count(adId) from Ad";
	
	private static final String FIND_FORUMID_AREA = "from Ad where forumId=? and area=? order by adId";
	
	public void create(Ad item){
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
		facade.save(item);
	}

	public void update(Ad item){
        HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
        facade.update(item);
	}
	
	
	public int delete(Ad item) {
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
		facade.createQuery(DELETE_ADID);
		facade.setInt(0, item.getAdId());
		return facade.executeUpdate();
	}
	
	public int delete(List<Integer> ids) {
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
		facade.createQuery(DELETES_ADID);
		facade.setParameterList("ids", ids);
		return facade.executeUpdate();
	}
	
	public Ad findById(int id) {
        HibernateFacade<Ad> facade = new HibernateFacade<Ad>(FIND_ADID);
        facade.setInt(0, id);
        facade.setCacheable(true); 
        facade.setMaxResults(1);
        return facade.uniqueResult();
	}
	
	public List<Ad> findAll(AdParameter param) {
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
    	facade.createQuery(FIND_ALL);
    	facade.setFirstResult(param.getPagination().getStartRow());
        facade.setMaxResults(param.getPagination().getEndRow()); 
		return facade.executeQuery();  
	}

	public long countAll(AdParameter param) {
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
    	facade.createQuery(COUNT_ALL);
		return facade.resultTotal();
	}

	public List<Ad> findByParameter(AdParameter param) {
		StringBuffer hql = new StringBuffer();
        hql.append("from Ad ");
        if(param.getArea()!=null){
        	hql.append(" where area=");
        	hql.append(param.getArea().byteValue());
        }
        hql.append(" order by area, forumId");
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
    	facade.createQuery(hql);
    	facade.setFirstResult(param.getPagination().getStartRow());
        facade.setMaxResults(param.getPagination().getEndRow());
		return facade.executeQuery();  
	}

	public long countByParameter(AdParameter param) {
		StringBuffer hql = new StringBuffer();
        hql.append("select count(adId) from Ad");
		HibernateProvider<Ad> facade = new HibernateFacade<Ad>();
    	facade.createQuery(hql);
		return facade.resultTotal();
	}

	public Ad findByForumIdAndArea(int forumId, byte area) {
        HibernateFacade<Ad> facade = new HibernateFacade<Ad>(FIND_FORUMID_AREA);
        facade.setInt(0, forumId);
        facade.setByte(1, area);
        facade.setMaxResults(1);
        return facade.uniqueResult();
	}

}

⌨️ 快捷键说明

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