base

package pack.java.ssh.basedao;   
  
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 Administrator  
 *  
 */  
public class BaseDao extends HibernateDaoSupport {   
    /***  
     * 添加方法;  
     * @param obj  
     */  
    public void add(Object obj){   
        super.getHibernateTemplate().save(obj);   
    }   
       
    /***  
     * 修改方法;  
     * @param obj  
     */  
    public void update(Object obj){   
        super.getHibernateTemplate().update(obj);   
    }   
       
    /***  
     * 根据对象删除;  
     * @param obj  
     */  
    public void deleteByObj(Object obj){   
        super.getHibernateTemplate().update(obj);   
    }   
       
    /***  
     * 根据主键删除;  
     * @param c  
     * @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();   
            }});   
    }   
}  

 

你可能感兴趣的:(C++,c,Hibernate,ssh,C#)