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

📄 messagetakeimpl.java

📁 这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载
💻 JAVA
字号:
/*
 * Created on 2005-11-4
 * Last modified on 2007-9-8
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.dao.hibernate.impl;

import java.util.List;

import org.apache.log4j.Logger;

import com.yeqiangwei.club.dao.MessageTakeDAO;
import com.yeqiangwei.club.dao.hibernate.ConnectionProvider;
import com.yeqiangwei.club.dao.hibernate.support.HibernateFacade;
import com.yeqiangwei.club.dao.hibernate.support.HibernateProvider;
import com.yeqiangwei.club.dao.hibernate.support.HibernateUserFacade;
import com.yeqiangwei.club.dao.model.MessageTake;
import com.yeqiangwei.club.param.MessageParameter;

/**
 * @author YeQiangWei by 我容易么我
 * Powered by YeQiangWei.com
 */
public class MessageTakeImpl implements MessageTakeDAO{
	
	private static final Logger logger = Logger.getLogger(MessageTakeImpl.class);
			
	private static final String FIND_TAKEID = "from MessageTake where takeId=?";
	
	private static final String UPDATE_ISOPENED = "update MessageTake set isOpened=? where takeId=?";
	
	private static final String DELETES_TAKEID = "delete MessageTake where takeId in (:ids)";
	
	private static final String DELETE_TAKEID = "delete MessageTake where takeId=?";
	
	private static final String DELETE_USERID = "delete MessageTake where userId=?";
	
	private HibernateProvider<MessageTake> getHibernateProvider(){
		if(ConnectionProvider.whichConnection==0){
			logger.info("HibernateFacade...");
			return new HibernateFacade<MessageTake>();
		}else{
			logger.info("HibernateUserFacade...");
			return new HibernateUserFacade<MessageTake>();
		}
	}
	
	public int deleteByUserId(int userId) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETE_USERID);
		hibernateProvider.setInt(0, userId);
		return hibernateProvider.executeUpdate();
	}

	public MessageTake create(MessageTake item) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		item = hibernateProvider.save(item);
		return item;
	}

	public MessageTake update(MessageTake item) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		item = hibernateProvider.update(item);
		return item;
	}
	
	public int update_space(List<Integer> ids, byte space)
	{
		StringBuffer hql = new StringBuffer();
		hql.append("update MessageTake set space=? where takeId in (:ids)");
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(hql);
		hibernateProvider.setByte(0,space);
		hibernateProvider.setParameterList("ids",ids);
		return hibernateProvider.executeUpdate();
	}
	

	public int update_isOpened(int id, boolean isOpened) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(UPDATE_ISOPENED);
		hibernateProvider.setBoolean(0,isOpened);
		hibernateProvider.setInt(1,id);
		return hibernateProvider.executeUpdate();
	}

	public int delete(MessageTake item) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETE_TAKEID);
		hibernateProvider.setInt(0, item.getTakeId());
		return hibernateProvider.executeUpdate();
	}
	
	public int delete(List<Integer> ids){
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETES_TAKEID);
		hibernateProvider.setParameterList("ids",ids);
		return hibernateProvider.executeUpdate();
	}
	
	/*
	public int delete(List ids) {
		int c = 0;
		List<Integer> list = new ArrayList<Integer>();
		for(int i=0; i<ids.length; i++){
			int id = TypeChange.stringToInt(ids[i]);
			list.add(new Integer(id));
		}
		c = this.delete(list);
		return c;
	}
	*/

	public MessageTake findById(int id) {
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(FIND_TAKEID);
		hibernateProvider.setInt(0, id);
		return hibernateProvider.uniqueResult();
	}

	public List<MessageTake> findByParameter(MessageParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("from MessageTake where takeId>0");
		if(param.getUserIdOfTake()!=null){
			hql.append(" and userIdOfTake=");
			hql.append(param.getUserIdOfTake().intValue());
		}
		if(param.getIsOpened()!=null){
			hql.append(" and isOpened=:isOpened ");
		}
		if(param.getSpace()!=null){
			hql.append(" and space=");
			hql.append(param.getSpace().byteValue());
		}
		if(param.getReplyId()!=null){
			hql.append(" and (takeId=");
			hql.append(param.getReplyId().intValue());
			hql.append(" or replyId=");
			hql.append(param.getReplyId().intValue());
			hql.append(") ");
		}
		else if(param.getTakeId()!=null){
			hql.append(" and (takeId=");
			hql.append(param.getTakeId().intValue());
			hql.append(" or replyId=");
			hql.append(param.getTakeId().intValue());
			hql.append(") ");
		}
		if(param.getOrderBy()==null){
			hql.append(" order by isOpened, takeId desc ");
		}else if(param.getOrderBy().byteValue()==(byte)1){
			hql.append(" order by replyId, takeId asc");
		}else{
			hql.append(" order by isOpened, takeId desc ");
		}
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(hql);
		if(param.getIsOpened()!=null){
			hibernateProvider.setBoolean("isOpened",param.getIsOpened());
		}
		hibernateProvider.setFirstResult(param.getPagination().getStartRow());
		hibernateProvider.setMaxResults(param.getPagination().getEndRow());
		List<MessageTake> list = hibernateProvider.executeQuery();
		return list;
	}

	public long countByParameter(MessageParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("select count(takeId) from MessageTake where takeId>0");
		if(param.getUserIdOfTake()!=null){
			hql.append(" and userIdOfTake=");
			hql.append(param.getUserIdOfTake().intValue());
		}
		if(param.getIsOpened()!=null){
			hql.append(" and isOpened=:isOpened ");
		}
		if(param.getSpace()!=null){
			hql.append(" and space=");
			hql.append(param.getSpace().byteValue());
		}
		if(param.getReplyId()!=null){
			hql.append(" and (takeId=");
			hql.append(param.getReplyId().intValue());
			hql.append(" or replyId=");
			hql.append(param.getReplyId().intValue());
			hql.append(") ");
		}
		else if(param.getTakeId()!=null){
			hql.append(" and (takeId=");
			hql.append(param.getTakeId().intValue());
			hql.append(" or replyId=");
			hql.append(param.getTakeId().intValue());
			hql.append(") ");
		}
		HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(hql);
		if(param.getIsOpened()!=null){
			hibernateProvider.setBoolean("isOpened",param.getIsOpened());
		}
		return hibernateProvider.resultTotal();
	}

	public List findAll(MessageParameter param) {
		return this.findByParameter(param);
	}

	public long countAll(MessageParameter param) {
		return this.countByParameter(param);
	}

	
}

⌨️ 快捷键说明

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