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

📄 friendimpl.java

📁 详细的建站源码 详细的建站源码 详细的建站源码 详细的建站源码
💻 JAVA
字号:
/* 
 * Created on 2005-12-1
 * 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.FriendDAO;
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.Friend;
import com.yeqiangwei.club.param.FriendParameter;


public class FriendImpl implements FriendDAO{
	
	private static final Logger logger = Logger.getLogger(FriendImpl.class);
	
	private static final String FIND_FRIENDID = "from Friend where friendId=?";
	
	private static final String FIND_MYUSERID_FRIENDUSERNAME = "from Friend where myUserId=? and friendUserName=?";
	
	private static final String FIND_MYUSERID_FRIENDUSERID = "from Friend where myUserId=? and friendUserId=?";
	
	private static final String DELETE_FRIENDID = "delete from Friend where friendId=?";
	
	private static final String DELETES_FRIENDID =" delete from Friend where friendId in (:ids)";
	
	private static final String DELETE_MYUSERID = "delete from Friend where myUserId=?";
	
	private HibernateProvider<Friend> getHibernateProvider(){
		if(ConnectionProvider.whichConnection==0){
			logger.info("HibernateFacade...");
			return new HibernateFacade<Friend>();
		}else{
			logger.info("HibernateUserFacade...");
			return new HibernateUserFacade<Friend>();
		}
	}
	
	public Friend create(Friend item) {
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
		item = hibernateProvider.save(item);		
		return item;
	}

	public Friend update(Friend item) {
        HibernateFacade<Friend> hibernateProvider = new HibernateFacade<Friend>();
        item = hibernateProvider.update(item);
        return item; 
	}

	public int delete(Friend item) {
    	HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETE_FRIENDID);
		hibernateProvider.setInt(0, item.getFriendId());
		return hibernateProvider.executeUpdate();
	}

	public int delete(List ids) {
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETES_FRIENDID);
		hibernateProvider.setParameterList("ids", ids);
		return hibernateProvider.executeUpdate();
	}

	public Friend findById(int id) {
        HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
        hibernateProvider.createQuery(FIND_FRIENDID);
        hibernateProvider.setInt(0, id);
        hibernateProvider.setCacheable(true); 
        hibernateProvider.setMaxResults(1);
        return hibernateProvider.uniqueResult();
	}

	public int deleteByMyUserId(int myUserId) {
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(DELETE_MYUSERID);
		hibernateProvider.setInt(0, myUserId);
		return hibernateProvider.executeUpdate();
	}
	
	/* test 
	public static void main(String args[]){
		com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
		FriendImpl f = new FriendImpl();
		FriendParameter param = new FriendParameter();
		param.setMyUserId(95);
		Object obj = f.find_friendJoinUser(param);
		List list = (List) obj;
		System.out.println(list);
		com.yeqiangwei.club.dao.hibernate.ConnectionManager.closeSession();
	}
	*/

	public Object find_friendJoinUser(FriendParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("select fi, ui from Friend as fi, User as ui ");
	    if(param.getMyUserId()!=null){
	    	hql.append(" where fi.friendUserId=ui.userId and fi.myUserId=");
	    	hql.append(param.getMyUserId().intValue());
	    } 
	    if(param.getFriendUserId()!=null){
	    	hql.append(" where fi.myUserId=ui.userId and fi.friendUserId=");
	    	hql.append(param.getFriendUserId().intValue());
	    }
	    if(param.getOrderBy()==null){
	    	hql.append(" order by friendId desc");
	    }
	    else if(param.getOrderBy().byteValue()==3){
	    	hql.append(" order by degree desc");
	    }
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
		hibernateProvider.createQuery(hql);
		hibernateProvider.setFirstResult(param.getPagination().getStartRow());
		hibernateProvider.setMaxResults(param.getPagination().getEndRow());
		hibernateProvider.setCacheable(true);
		List list = hibernateProvider.executeQuery();  
		return list;
	}

	public Friend findByMyUserIdAndFriendUserName(int myUserId, String friendUserName) {
        HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
        hibernateProvider.createQuery(FIND_MYUSERID_FRIENDUSERNAME);
        hibernateProvider.setInt(0, myUserId);
        hibernateProvider.setString(1, friendUserName);
        hibernateProvider.setCacheable(true); 
        hibernateProvider.setMaxResults(1);
        Friend item = hibernateProvider.uniqueResult();
        return item;
	}

	public Friend findByMyUserIdAndFriendUserId(int myUserId, int friendUserId) {
        HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
        hibernateProvider.createQuery(FIND_MYUSERID_FRIENDUSERID);
        hibernateProvider.setInt(0, myUserId);
        hibernateProvider.setInt(1, friendUserId);
        hibernateProvider.setCacheable(true); 
        hibernateProvider.setMaxResults(1);
        Friend item = hibernateProvider.uniqueResult();
        return item;
	}

	public List<Friend> findByParameter(FriendParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("from Friend ");
		if(param.getMyUserId()!=null){
			hql.append(" where myUserId=");
			hql.append(param.getMyUserId());
		}
	    hql.append(" order by friendId desc ");
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
	    hibernateProvider.createQuery(hql);
	    hibernateProvider.setFirstResult(param.getPagination().getStartRow());
	    hibernateProvider.setMaxResults(param.getPagination().getEndRow());
	    hibernateProvider.setCacheable(true); 
	    List<Friend> list = hibernateProvider.executeQuery();  
		return list;   
	}

	public long countByParameter(FriendParameter param) {
		StringBuffer hql = new StringBuffer();
		hql.append("select count(friendId) from Friend ");
		if(param.getMyUserId()!=null){
			hql.append(" where myUserId=");
			hql.append(param.getMyUserId());
		}
		HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
    	hibernateProvider.createQuery(hql);
    	hibernateProvider.setCacheable(true); 
		return hibernateProvider.resultTotal();
	}

}

⌨️ 快捷键说明

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