`

dao的封装及简单封装

阅读更多
import java.io.Serializable;  
import java.sql.SQLException;  
import java.util.List;  
 
import org.hibernate.HibernateException;  
import org.hibernate.Query;  
import org.hibernate.Session;  
import org.springframework.orm.hibernate3.HibernateCallback;  
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
 
/*** 
* BaseDao 继承至HibernateDaoSuport类; 
* @author wangxiuwei

*/ 
public class BaseDao extends HibernateDaoSupport {  
    /*** 
     * 添加方法; 
     */ 
    public void add(Object obj){  
        super.getHibernateTemplate().save(obj);  
    }  
      
    /*** 
     * 修改方法; 
     */ 
    public void update(Object obj){  
        super.getHibernateTemplate().update(obj);  
    }  
      
    /*** 
     * 根据对象删除; 
     */ 
    public void deleteByObj(Object obj){  
        super.getHibernateTemplate().update(obj);  
    }  
      
    /*** 
     * 根据主键删除; 
     * @param id 
     */ 
    public void deleteById(Class c,Serializable id){  
        this.deleteByObj(this.queryById(c, id));  
    }  
      
    /*** 
     * 查询全部; 
     * @param c 
     * @return 
     */ 
    public List queryAll(Class c){  
        return super.getHibernateTemplate().find("from "+c.getName());  
    }  
      
    /*** 
     * 按主键查询; 
     * @param c 
     * @return 
     */ 
    public Object queryById(Class c,Serializable id){  
        return super.getHibernateTemplate().load(c, id);  
    }  
      
    /*** 
     * 按条件删除或者修改; 
     * @return 
     */ 
    public boolean updateOrDelete(String hql,Object...objects){  
        int result=super.getHibernateTemplate().bulkUpdate(hql, objects);  
        return result>0;  
    }  
      
    /*** 
     * 保存或者更新; 
     * @param obj 
     */ 
    public void saveOrUpdate(Object obj){  
        super.getHibernateTemplate().saveOrUpdate(obj);  
    }  
      
    /*** 
     * 分页查询; 
     * @return 
     */ 
    public List queryPage(final String hql,final Integer page,final Integer size,final Object...objects){  
        return super.getHibernateTemplate().executeFind(new HibernateCallback(){  
 
            public Object doInHibernate(Session session)  
                    throws HibernateException, SQLException {  
                // TODO Auto-generated method stub  
                Query query=session.createQuery(hql);  
                if(objects!=null){  
                    for (int i=0;i<objects.length;i++) {  
                        query.setParameter(i,objects[i]);  
                    }  
                }  
                if(page!=null && size!=null){  
                    query.setFirstResult((page-1)*size).setMaxResults(size);  
                }  
                return query.list();  
            }});  
    }  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics