HQL通用分页
HQL分页的思路:
- HQL传过来,拼接countHql
- 给命名参数赋值(hibernate 5.0 以后占位符?基本不用了)
- pageBean setTotal(设置符合条件的总页数)
- 查询你需要的结果集
命名参数赋值
/**
* 给命名参数赋值
*
* @param query 预定义参数
* @param map 接受参数
*/
public void setParameters(Query query, Map<String, Object> map) {
if (map == null || map.size() == 0)return;
Object values;
for (Map.Entry<String, Object> entry : map.entrySet()) {
values = entry.getValue();
if (values instanceof Collection) {
values = query.setParameterList(entry.getKey(), (Collection) values);
} else if (values instanceof Object[]) {
values = query.setParameterList(entry.getKey(), (Object[]) values);
} else {
values = query.setParameter(entry.getKey(), values);
}
}
}
接受sql,拼接countHql语句
/**
* 拼接HQL countHql
* FROM bas_dict where 1=1 bac_dict like :bsc_dict
* select count(*) ForM bas_dic

本文介绍了使用HQL进行通用分页查询的方法,包括思路和关键步骤:通过HQL拼接countHql来获取总数,设置分页参数,以及注意避免特定情况下的错误。同时提到了pageBean类和StringsUtils工具类在分页查询中的应用。
最低0.47元/天 解锁文章
429

被折叠的 条评论
为什么被折叠?



