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

📄 hibernatefacade.java

📁 详细的建站源码 详细的建站源码 详细的建站源码 详细的建站源码
💻 JAVA
字号:
/* 
 * Created on 2007-1-20
 * Last modified on 2007-6-6
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.dao.hibernate.support;

import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.yeqiangwei.club.dao.hibernate.ConnectionManager;

public class HibernateFacade<Item> implements HibernateProvider<Item>{
	
	private static final Logger logger = Logger.getLogger(HibernateFacade.class);
	
	private Session session;
	
	private Transaction tran;

	private Query query;
		
	public HibernateFacade(){
		session = ConnectionManager.getSession();
	}

	public Session getSession() {
		return session;
	}

	public HibernateFacade(Object o){
		if(session==null){
			session = ConnectionManager.getSession();
		}
	}
	
	public HibernateFacade(String sql){
		if(session==null){
			session = ConnectionManager.getSession();
			this.query = this.createQuery(sql);
		}
	}
	
	public void commitTransaction(){
		if(tran!=null){
			ConnectionManager.commitTransaction();
		}else{
			logger.error("Transaction is Null");
		}
	}
	
	public void  rollback(){
		if(tran!=null){
			ConnectionManager.rollbackTransaction();
		}else{
			logger.error("Transaction is Null");
		}
	}
	
	public Transaction beginTransaction(){
		return tran = ConnectionManager.beginTransaction();
	}
	
	public Item save(Item item){
	    try{
	        session.save(item);
	    }catch(HibernateException e){
	    	item = null;
	        logger.error(e.toString());
	    }
		return item;
	}
	
	public Item saveOrUpdate(Item item){
	    try{
	        session.saveOrUpdate(item);
	    }catch(HibernateException e){
	    	item = null;
	        logger.error(e.toString());
	    }
		return item;
	}
	
	public Query setFirstResult(int i){
		if(query!=null){
			return query.setFirstResult(i);
		}else{
			logger.error("Query is Null");
			return null;
		}
	}
	
	public Query setFetchSize(int i){
		if(query!=null){
			return query.setFetchSize(i);
		}else{
			logger.error("Query is Null");
			return null;
		}
	}
	
	public Query setMaxResults(int c){
		if(query!=null){
			return query.setMaxResults(c);
		}else{
			logger.error("Query is Null");
			return null;
		}
	}

	@SuppressWarnings("unchecked")
	public Item uniqueResult(){
		if(query!=null){
			return (Item)query.uniqueResult();
		}else{
			logger.error("Query is Null");
			return null;
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<Item> executeQuery(){
		if(query!=null){
			return query.list();
		}else{
			logger.error("Query is Null");
			return null;
		}
	}
	
	public long resultTotal(){
		long c = 0;
		if(query!=null){
			Iterator it = query.iterate();
	        while(it.hasNext()){
	        	Long results  = (Long) it.next();
	            c = results.longValue();
	        }
		}
		return c;
	}
	
	public int resultTotalInteger(){
		int c = 0;
		if(query!=null){
			Iterator it = query.iterate();
	        while(it.hasNext()){
	        	Integer results = (Integer) it.next();
	            c = results.intValue();
	        }
		}
		return c;
	}
	
	public Iterator iterate(){
		if(query!=null){
			return query.iterate();
		}else{
			return null;
		}
	}
	
	public int executeUpdate(){
		if(query!=null){
			return query.executeUpdate();
		}else{
			logger.error("Query is Null");
			return 0;
		}
	}
	
	public Item update(Item item){
		try{
			session.update(item);
		}catch(Exception e){
			item = null;
			logger.error(e);
		}
		return item;
	}
	
	public Query createQuery(String sql){
		return query = session.createQuery(sql);
	}
	
	public Query createQuery(StringBuffer sql){
		return createQuery(sql.toString());
	}
	
	public void setCacheable(boolean bea){
		if(query!=null){
			query.setCacheable(bea);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setCacheRegion(String str){
		if(query!=null){
			query.setCacheRegion(str);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setByte(String name, Byte value){
		if(query!=null){
			query.setByte(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setByte(int name, Byte value){
		if(query!=null){
			query.setByte(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setShort(String name, Short value){
		if(query!=null){
			query.setShort(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setShort(int name, Short value){
		if(query!=null){
			query.setShort(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setBoolean(String name, Boolean value){
		if(query!=null){
			query.setBoolean(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setBoolean(int name, Boolean value){
		if(query!=null){
			query.setBoolean(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setString(String name, String value){
		if(query!=null){
			query.setString(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setString(int name, String value){
		if(query!=null){
			query.setString(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setLong(String name, long value){
		if(query!=null){
			query.setLong(name, value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setLong(int name, long value){
		if(query!=null){
			query.setLong(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setInt(String name, int value){
		if(query!=null){
			query.setInteger(name, value);
		}else{
			logger.error("Transaction is Null");
		}
	}
	
	public void setInt(int name, int value){
		if(query!=null){
			query.setInteger(name,value);
		}else{
			logger.error("Query is Null");
		}
	}

	public void setInt(String name, Integer value){
		if(query!=null){
			query.setInteger(name, value);
		}else{
			logger.error("Transaction is Null");
		}
	}
	
	public void setInt(int name, Integer value){
		if(query!=null){
			query.setInteger(name,value);
		}else{
			logger.error("Query is Null");
		}
	}
	
	public void setParameterList(String name, Object[] obj){
		if(query!=null){
			query.setParameterList(name, obj);
		}
	}
	
	public void setParameterList(String name, List list){
		if(query!=null){
			query.setParameterList(name, list);
		}
	}
	
	public Query getQuery() {
		return query;
	}

	public void setQuery(Query query) {
		this.query = query;
	}

	public Transaction getTransaction() {
		return tran;
	}

	public void setTransaction(Transaction tran) {
		this.tran = tran;
	}
}

⌨️ 快捷键说明

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