countersimpl.java

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

JAVA
155
字号
/* 
 * Created on 2007-1-21
 * 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.CountersDAO;
import com.yeqiangwei.club.dao.hibernate.support.HibernateFacade;
import com.yeqiangwei.club.dao.hibernate.support.HibernateProvider;
import com.yeqiangwei.club.model.Counters;
import com.yeqiangwei.club.param.CounterParameter;

public class CountersImpl implements CountersDAO {
	
	private static final String FIND_ALL = "from Counters order by countersId desc";
	
	private static final String COUNT_ALL = "select count(countersId) from Counters";
	
	private static final String FIND_COUNTERSID = "from Counters where countersId=?";
	
	private static final String DELETE_COUNTERSID = "delete from Counters where countersId=?";
	
	private static final String DELETES_COUNTERSID = "delete from Counters where countersId in (:ids)";

	public void create(Counters item) {
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
		facade.save(item);
	}

	public void update(Counters item) {
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
		facade.update(item);
	}

	public int delete(Counters item) {
    	HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
		facade.createQuery(DELETE_COUNTERSID);
		facade.setInt(0, item.getCountersId());
		return facade.executeUpdate();
	}

	public int delete(List<Integer> ids) {
    	HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
		facade.createQuery(DELETES_COUNTERSID);
		facade.setParameterList("ids",ids);
		return facade.executeUpdate();
	}

	public Counters findById(int id) {
        HibernateProvider<Counters> facade = new HibernateFacade<Counters>(FIND_COUNTERSID);
        facade.setInt(0, id);
        facade.setMaxResults(1);
        return facade.uniqueResult();
	}

	public List<Counters> findByParameter(CounterParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("from Counters ");
		if(param.getYmd()!=null){
			hql.append(" where ymd=");
			hql.append(param.getYmd().intValue());
			if(param.getForumId()!=null){
				hql.append(" and forumId= ");
				hql.append(param.getForumId().intValue());
			}
		}
		else if(param.getForumId()!=null){
			hql.append(" where forumId= ");
			hql.append(param.getForumId().intValue());
			if(param.getYmd()!=null){
				hql.append(" and ymd=");
				hql.append(param.getYmd().intValue());
			}
		}
		if(param.getOrderBy()==null){
			hql.append(" order by hits desc");
		}
		else if(param.getOrderBy().byteValue()==1){
			hql.append(" order by ymd desc");
		}
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
	    facade.createQuery(hql);
	    facade.setFirstResult(param.getPagination().getStartRow());
	    facade.setMaxResults(param.getPagination().getEndRow());
		return facade.executeQuery();  
	}

	public long countByParameter(CounterParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("select count(countersId) from Counters ");
		if(param.getYmd()!=null){
			hql.append(" where ymd=");
			hql.append(param.getYmd().intValue());
			if(param.getForumId()!=null){
				hql.append(" and forumId= ");
				hql.append(param.getForumId().intValue());
			}
		}
		else if(param.getForumId()!=null){
			hql.append(" where forumId= ");
			hql.append(param.getForumId().intValue());
			if(param.getYmd()!=null){
				hql.append(" and ymd=");
				hql.append(param.getYmd().intValue());
			}
		}
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
	    facade.createQuery(hql);
		return facade.resultTotal();
	}


	public List<Counters> findAll(CounterParameter param) {
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
	    facade.createQuery(FIND_ALL);
	    facade.setFirstResult(param.getPagination().getStartRow());
	    facade.setMaxResults(param.getPagination().getEndRow());
		return facade.executeQuery();  
	}

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

	public Counters findOnlyByParameter(CounterParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("from Counters ");
		if(param.getYmd()!=null){
			hql.append(" where ymd=");
			hql.append(param.getYmd().intValue());
			if(param.getForumId()!=null){
				hql.append(" and forumId= ");
				hql.append(param.getForumId().intValue());
			}
		}
		else if(param.getForumId()!=null){
			hql.append(" where forumId= ");
			hql.append(param.getForumId().intValue());
			if(param.getYmd()!=null){
				hql.append(" and ymd=");
				hql.append(param.getYmd().intValue());
			}
		}
		hql.append(" order by countersId asc");
		HibernateProvider<Counters> facade = new HibernateFacade<Counters>();
	    facade.createQuery(hql);
	    facade.setMaxResults(1);
		return facade.uniqueResult();
	}
}

⌨️ 快捷键说明

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