欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

通用DAO类,通用dao,package org.

来源: javaer 分享于  点击 31621 次 点评:205

通用DAO类,通用dao,package org.


package org.jb.common.dao.hibimpl;import java.io.Serializable;import java.util.Date;import java.util.List;import org.hibernate.Criteria;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.criterion.MatchMode;import org.hibernate.criterion.Restrictions;import org.jb.common.dao.CommonDAO;import org.jb.common.util.PageResult;import org.jb.y272.team0.entity.SalaryStandard;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class CommonDAOHibImpl extends HibernateDaoSupport implements CommonDAO {    /*     * (非 Javadoc)     *      * @see y2ssh.dlc.chp2.dao.CommonDAO#add(java.lang.Object)     */    public Serializable add(Object o) {        Serializable ret = super.getHibernateTemplate().save(o);        return ret;    }    /*     * (非 Javadoc)     *      * @see y2ssh.dlc.chp2.dao.CommonDAO#get(java.lang.Class,     * java.io.Serializable)     */    public Object get(Class clazz, Serializable id) {        Object ret = super.getHibernateTemplate().get(clazz, id);        return ret;    }    /*     * (非 Javadoc)     *      * @see y2ssh.dlc.chp2.dao.CommonDAO#del(java.lang.Class,     * java.io.Serializable)     */    public void del(Class clazz, Serializable id) {        super.getHibernateTemplate().delete(this.get(clazz, id));    }    /*     * (非 Javadoc)     *      * @see y2ssh.dlc.chp2.dao.CommonDAO#update(java.lang.Object)     */    public void update(Object o) {        super.getHibernateTemplate().update(o);    }    /*     * (非 Javadoc)     *      * @see y2ssh.dlc.chp2.dao.CommonDAO#search(java.lang.String)     */    public List list(String hql) {        List ret = super.getHibernateTemplate().find(hql);        return ret;    }    public List listOrderBy(String hql)    {        List ret = super.getHibernateTemplate().find(hql);        return ret;    }    /*     * (非 Javadoc)     *      * @see org.jb.common.dao.CommonDAO#listByPage(java.lang.String,     * org.jb.common.util.PageResult)     */    @SuppressWarnings("unchecked")    public void listByPage(String hql, PageResult pageResult) {        if (null == hql) {            return;        }        Query query = this.getSession().createQuery(hql);        query.setFirstResult(pageResult.getFirstRec());        query.setMaxResults(pageResult.getPageSize());        List ret = query.list();        pageResult.setList(ret);        String queryString = "";        if (hql.toUpperCase().indexOf("SELECT") != -1) {            int i = query.getQueryString().toUpperCase().indexOf("FROM");            queryString = "Select count(*) " + hql.substring(i, hql.length());        } else {            queryString = "Select count(*) " + hql;        }        // 去掉ORDER BY 的部分        int j = queryString.toUpperCase().lastIndexOf("ORDER");        if (j != -1) {            queryString = queryString.substring(0, j);        }        Query cquery = this.getSession().createQuery(queryString);        cquery.setCacheable(true);        if(cquery.iterate().hasNext()){        int recTotal = ((Integer) cquery.iterate().next()).intValue();        pageResult.setRecTotal(recTotal);        }    }    @SuppressWarnings("unchecked")    public List<SalaryStandard> getStandards(final Date beginTime,            final Date endTime, final SalaryStandard standard) {        List<SalaryStandard> list = super.getHibernateTemplate().executeFind(                new HibernateCallback() {                    public Object doInHibernate(Session s)                            throws HibernateException {                        Criteria c = s.createCriteria(SalaryStandard.class);                        if (standard.getStandardId() != null && standard.getStandardId()!="") {                            c.add(Restrictions.like("standardId", standard                                    .getStandardId(), MatchMode.ANYWHERE));                        }                        if (standard.getDesigner() != null && standard.getDesigner()!="") {                            c.add(Restrictions.like("designer", standard                                    .getDesigner(), MatchMode.ANYWHERE));                        }                        if (beginTime != null) {                            c.add(Restrictions.ge("registTime", beginTime));                        }                        if (endTime != null) {                            c.add(Restrictions.le("registTime", endTime));                        }                        return c.list();                    }                });        return list;    }}//该片段来自于http://byrx.net
相关栏目:

用户点评