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

📄 basedao.java

📁 简单的一个新闻系统。j2ee开发的。对大家学习有帮助。
💻 JAVA
字号:
package com.org.hibernate.dao;

import java.util.Collection;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.org.exception.DaoException;

public class BaseDao extends HibernateDaoSupport{
	 private Logger log = Logger.getLogger(this.getClass());
/** 
 */  
	 public Session openSession() {
	        return SessionFactoryUtils.getSession(getSessionFactory(), false);
	    }
/** 
 */ 
	 public Query getQuery(String sql) throws Exception{
	        Session session = this.openSession();
	        Query query = session.createQuery(sql); 
	    return query;
	    }
	    /** 
	     *         
	     */ 	 
	 
	 public Object loadByKey(Class clazz, String keyName, Object keyValue) 
     { 

     List result = getHibernateTemplate().find( 
             "from " + clazz.getName() + " where " + keyName + " = ?", 
             keyValue); 
     if (result != null && result.size() > 0) { 
         return result.get(0); 
     } else { 
         return null; 
     }
    }
		/** 
	     *         
	     */  
	    public  int getTotalCount(String hql) throws Exception 
	    { 
	    Integer amount = new Integer(0); 
	    int sql_from = hql.indexOf(" from"); 
	    int sql_orderby=hql.indexOf("order by");
	    String countStr=""; 
	    if(sql_orderby>0) 
	    { 
	    countStr="select count(*) "+hql.substring(sql_from,sql_orderby); 
	    } 
	    else 
	    countStr = "select count(*) "+hql.substring(sql_from); 
	    Session session=this.openSession();
	    Query query = session.createQuery(countStr); 
	    if(!query.list().isEmpty()){ 
	    amount = (Integer) query.list().get(0); 
	    } 
	    else 
	    return 0; 

	    return amount.intValue(); 
	    } 
	    
		/** 
	     *         
	     */ 
	    public int getTotalPage(int totalCount,int pageSize){
	        
	      return (totalCount+pageSize-1)/pageSize;
	      
	    
	    }
	    /** 
	     *          
	     */ 
	    public void insert(Object entity)  { 
	        try { 
	            getHibernateTemplate().save(entity); 
	        } catch (Exception e) { 
	            log.error("插入 " + entity.getClass().getName() + "实例到数据库失败", e); 
	           
	        } 
	    } 
	    /** 
	     */ 
	    public void update(Object entity)  { 
	        try { 
	            getHibernateTemplate().update(entity); 
	        } catch (Exception e) { 
	            log.error("更新 " + entity.getClass().getName() + " 实例到数据库失败", e); 
	           
	        } 
	    } 

	    /** 
	     *         
	     */ 
	    public void delete(Object entity) throws DaoException { 
	        try { 
	            getHibernateTemplate().delete(entity); 
	        } catch (Exception e) { 
	            log.error("从数据库删除" + entity.getClass().getName() + " 实例失败", e); 
	          
	        } 
	    } 
	    /** 
	     */ 
	    public void deleteAll(Class clazz) throws DaoException { 
	        try { 
	            List result = getHibernateTemplate().loadAll(clazz); 
	            getHibernateTemplate().deleteAll(result); 
	        } catch (Exception e) { 
	            log.error("从数据库删除" + clazz.getName() + "的所有记录失败", e); 
	           
	        } 
	    } 

	    public void deleteAll(Collection entities) throws DaoException { 
	        try { 
	            getHibernateTemplate().deleteAll(entities); 
	            
	        } catch(Exception e) { 
	           
	        } 
	    } 
	    /** 
	     */ 
	    public List find(String queryString, Object param) throws DaoException { 
	    	List list= null;
	        try { 
	            list = getHibernateTemplate().find(queryString, param); 
	        } catch (Exception e) { 
	            log.error("执行参数为" + param + "的查询" + queryString + "失败", e); 
	           
	        } 
	        return list;
	    } 
	    
	    /** 
	     *           
	     */ 
	    public Object getByPk(Class clazz,Integer id){
	        
	      Object obj = (Object)getHibernateTemplate().get(clazz,id);
	      return obj;
	    
	    }
	    public Object getByPk(Class clazz,Long id){
	        
	      Object obj = (Object)getHibernateTemplate().get(clazz,id);
	      return obj;
	    }
	    public Object getByPk(Class clazz,String id){
	        
	      Object obj = (Object)getHibernateTemplate().get(clazz,id);
	      return obj;
	    
	    }
	    /** 
	     */ 
	    public List LoadAll(Class clazz){
	        List list=null;
	        try{
	               list=getHibernateTemplate().loadAll(clazz);
	        }catch(Exception e){
	           log.error("从数据库查询"+clazz.getName()+"失败");
	       }
	        return list;
	    }
}

⌨️ 快捷键说明

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