Spring整合hibernate后,动态查询需要用到内部类,如何获得总信息条数? 下面是代码演示:
public Integer findCountByInfo(final Map<String, Object> salChance) {//通过动态条件获得总信息数
StringBuffer hql=new StringBuffer("select count(*) FROM SalChance s WHERE 1=1");
//下面是动态添加查询条件
if(salChance!=null){
if(salChance.get("name")!=null&&!("").equals(salChance.get("name"))){
hql.append(" and s.chcCustName like :name");
}
if(salChance.get("title")!=null&&!("").equals(salChance.get("title"))){
hql.append(" and s.chcTitle like :title");
}
if(salChance.get("linkman")!=null&&!("").equals(salChance.get("linkman"))){
hql.append(" and s.chcLinkman like :linkman");
}
final String typeSql = new String(hql);
Long logs=this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q=session.createQuery(typeSql);
q.setProperties(salChance);
return q.uniqueResult();
}
});
return logs.intValue();
}
return null;
}