admin
2021-07-30 19533a17aa55fafc70d0a385928e785cb50e1ebc
src/main/java/com/yeshi/buwan/dao/base/BaseDao.java
@@ -8,9 +8,9 @@
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.orm.hibernate4.HibernateTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.transaction.Transactional;
import java.io.Serializable;
import java.util.List;
@@ -80,6 +80,40 @@
                query.setMaxResults(count);
                log.info("list");
                return query.list();
            }
        });
    }
    public List<T> findList(String hql, final int start, final int count, final Serializable[] params) {
        final String tempsql = hql;
        return (List<T>) hibernateTemplate.execute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createQuery(tempsql);
                if (params != null)
                    for (int i = 0; i < params.length; i++) {
                        query.setParameter(i, params[i]);
                    }
                query.setFirstResult(start);
                query.setMaxResults(count);
                log.info("list");
                return query.list();
            }
        });
    }
    public void update(String hql, final Serializable[] params) {
        hibernateTemplate.execute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createQuery(hql);
                if (params != null)
                    for (int i = 0; i < params.length; i++) {
                        query.setParameter(i, params[i]);
                    }
                query.executeUpdate();
                return null;
            }
        });
@@ -166,9 +200,10 @@
                String hql = "select count(*) " + hqlStr.substring(fromIndex);
                Query query = session.createQuery(hql);
                for (int i = 0; i < wheres.length; i++) {
                    query.setParameter(i, wheres[i]);
                }
                if (wheres != null)
                    for (int i = 0; i < wheres.length; i++) {
                        query.setParameter(i, wheres[i]);
                    }
                return Long.parseLong(query.uniqueResult() + "");
            }
        });