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

📄 userdaohibernate.java

📁 struts+hibernate开发的BBS源码
💻 JAVA
字号:
package com.bbs.domain.dao.hibernate;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.bbs.domain.dao.UserDAO;
import com.bbs.domain.model.User;
import com.bbs.util.*;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.type.Type;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.bbs.domain.dao.DAO;
import com.bbs.util.QueryInfo;

public class UserDAOHibernate extends BaseDAOHibernate implements UserDAO {

	public User getUserbyUsername(String username) {
		try{
			Session s = HibernateUtil.currentSession();
			String hqlstr = "from User as user where user.username=:name";
			Query query = s.createQuery(hqlstr);
			query.setString("name",username);
			List result = query.list();
			if(result != null && result.size() > 0)
			{
				return (User)result.get(0);
			}
		}catch(HibernateException e){			
			
			e.printStackTrace();
		}
		return null;
	}

	public void saveUser(User user) {
		try{
			Session s = HibernateUtil.currentSession();
			HibernateUtil.beginTransaction();
			s.saveOrUpdate(user);
			HibernateUtil.commitTransaction();
		}catch(HibernateException e)
		{
			log.debug(e);
		}

	}

	public User getUserByID(Long userid)
	{
		try{
			Session s = HibernateUtil.currentSession();
			return (User)s.load(User.class,userid);
		}catch(HibernateException e)
		{
			log.debug(e);
		}
		return null;
	}
	
	public void delete(User user) {
		try{
			Session s = HibernateUtil.currentSession();
			HibernateUtil.beginTransaction();
			User temp = getUserByID(user.getId());
			if(temp != null)
				s.delete(user);
			HibernateUtil.commitTransaction();
		}catch(HibernateException e)
		{
			log.debug(e);
		}

	}

	public List getAll() {
		try{
			Session s = HibernateUtil.currentSession();
			String hqlstr = "from User";
			Query query = s.createQuery(hqlstr);
			List result = query.list();
			return result;
		}catch(HibernateException e)
		{
			log.debug(e);
		}
		return null;
	}
	
public PartialCollection getResult(QueryInfo queryInfo) {
		
		
		String whereClause = new String();
		String orderByClause = new String();
		if (queryInfo != null) {
			whereClause = queryInfo.getWhereClause();
			orderByClause = queryInfo.getOrderByClause();
			if (whereClause != null && whereClause.length() != 0) {
			//	whereClause =  whereClause;
			} else {
				whereClause = new String();
			}
			if (orderByClause != null && orderByClause.length() != 0) {
				orderByClause = " order by " + orderByClause;
			} else {
				orderByClause = new String();
			}
		}
		
		String keyword = (String)queryInfo.getQueryParameters().get("keyword");
		if ( keyword != null ){
			StringBuffer whereClauseBuff = new StringBuffer("");
			whereClauseBuff.append(" c.username like '%");
			whereClauseBuff.append( keyword );
			whereClauseBuff.append("%' ");
			if (whereClause.length()==0){
				whereClause = whereClauseBuff.toString();
			}else{
				whereClauseBuff.append(")");
				whereClause += " and (" + whereClauseBuff.toString();
			}
		}

		List list = null;
		Integer total = null;
		ArrayList args = new ArrayList();
		String hqlPart = new String();
		if (whereClause != null && whereClause.length() != 0){
			hqlPart = "from User c where " + whereClause;
		}else{
			hqlPart = "from User c" ;
		}
		
		try {
			Session s = HibernateUtil.currentSession();
			if (queryInfo != null
					&& (queryInfo.getLimit() != null || queryInfo.getOffset() != null)) {
				String hqlForTotal = "select count(c.id) " + hqlPart;				
				
				total = (Integer) findUniqueResult(s, hqlForTotal, args
						.toArray());
				if (total == null) {
					total = new Integer(0);
				}
			}
			
			
			if (total == null || total.intValue() > 0) {
				String hql = "select c " + hqlPart + orderByClause;
				list = executeFind(s, hql, queryInfo, args.toArray());
				if (total == null) {
					total = new Integer(list.size());
				}
			} else {
				list = new ArrayList();
			}
			//Collection coll = new PartialCollection(list, total);
		} catch (HibernateException e) {
			log.fatal(e);
			// return 0;
		}
		return new PartialCollection(list, total);
	}
	
	

	public List getObjects(Class clazz) {
		// TODO Auto-generated method stub
		return null;
	}

	public Object getObject(Class clazz, Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}

	public void saveObject(Object o) {
		// TODO Auto-generated method stub

	}

	public void removeObject(Class clazz, Serializable id) {
		// TODO Auto-generated method stub

	}

	public void removeObject(Object po) {
		// TODO Auto-generated method stub

	}

	public void removeShc(Long objectid, int type) {
		// TODO Auto-generated method stub

	}

	public void removePl(Long objectid, int type) {
		// TODO Auto-generated method stub

	}

	public void removeTj(Long objectid, int type) {
		// TODO Auto-generated method stub

	}

}

⌨️ 快捷键说明

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