1、第一種方式
public class DetailDaoImpl extends HibernateTemplate implements?DetailDaoInterface {
private Log log=LogFactory.getLog(ConstantsApplication. P2PAPPLICATION_LOG );
/**
?* 查詢符合條件的指定區間的記錄
?*/
?public List<AppInfoPO> queryApproveDetailInfo(ApproveDetailQueryModel qm,?int startNumber, int maxNumber) throws APSException {
log.info("開始查詢明細……");
?? try{
DetachedCriteria c = this.getDetachedCriteria(qm);
??? return?
findByCriteria
(c,startNumber,maxNumber);
} catch (Exception e) {
??? log.error("查詢明細異常", e);
?? ?throw new APSException("查詢明細異常,在方法queryApproveDetailInfo中", e);
?? }
}
/**
? * 查詢符合條件的記錄數
? */
?public int queryApproveDetailInfoCount(ApproveDetailQueryModel qm) throws APSException {
log.info("開始查詢審批明細……");
?? DetachedCriteria d = this.getDetachedCriteria(qm);
? ?d.setProjection(Projections.rowCount());
? ?List list = this.findByCriteria(d);
?? if (list != null && list.size() > 0)
??? return Integer.valueOf(list.get(0).toString());
? ?return 0;
}
/**
?* 創建公共查詢條件
?* @param qm
?* @return
?*/
?public DetachedCriteria? getDetachedCriteria(ApproveDetailQueryModel qm){
?? ?DetachedCriteria c = DetachedCriteria.forClass(AppInfoPO.class);
????????? if(!CommonMethod.isNull(qm.getCreditDateisnotnull())){
???????? c.add(
Property
.forName("creditDate").isNotNull());
????????? }
c.addOrder(Order.asc("creditName"));
???? c.addOrder(Order.desc("creditDate"));?
???? return c;
}
2、SQL分頁
Query
query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
?
hxzon
public List getCategorys(final int currentpage, final int pagesize) {
log.debug("finding all ShbbsCategory instances");
?? List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
String hql = "from ShbbsCategory";
Query query = session.createQuery(hql);
query.
setFirstResult
((currentpage - 1) * pagesize);
query.setMaxResults(pagesize);
List list = query.list();
return list;
}
});
return list;
}
預編譯
String hql = "FROM ShbbsCategory AS p WHERE p.uid LIKE
?
OR p.name LIKE ?";
Query query = session.createQuery(hql);
query.
setString
(0, "%" + cond + "%");
query.setString(1, "%" + cond + "%");
query.setFirstResult((currentpage - 1) * pagesize);
query.setMaxResults(pagesize);
集合總數1
public Integer getSaleChanceListCount() {????
final String hql = "select count(*) from SaleChanceInfo si";????
? Query query = arg0.createQuery(hql);????
return query. uniqueResult ();????
}
集合總數2
String hql = "SELECT COUNT(p.id) from Person AS p WHERE p.uid LIKE ? OR p.name LIKE ?";
Query query = session.createQuery(hql);
List list = query.list();
? if (list.size() > 0) {
count = (Integer) list.get(0);
}
return count;
3、通過Criteria實現分頁
Criteria criteria = session.createCriteria(?Class arg);
criteria.setFirstResult(offset);
criteria.setMaxResults(length);
return criteria.list();
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
