java j2ee ssh项目中使用hibernate的分页条件查询问题

就是在daoimpl里面写查询的时候查询方法的结构怎么才是最优美的参数一般就是传个PageModel对象(里面有pagesize,pagenum,orderSort,or... 就是在daoimpl里面写查询的时候
查询方法的结构 怎么才是最优美的
参数一般就是传个PageModel对象 (里面有pagesize,pagenum,orderSort,orderWord)
然后一大堆查询条件name,id,age,date等等
我感觉参数太多
还有就是用hql 的时候 先new 一个stringbuffer 然后判断每个条件是不是空 不是就拼字符串 完了再创建Query对象把hql 传进去 再判断每个条件是否为空 这次是为了给Query里的?号设置值 (不使用拼接是为了防止注入)
感觉这样很麻烦 有没有好点的方法
然后再就是 每次dao的时候很多代码重复 比如创建session trancation等等
怎么样封装会好点 求有经验的人指点一下
展开
 我来答
一只抖猫35
2011-10-13 · TA获得超过200个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:133万
展开全部
拼接sql不能省去。
我做分页的时候也没用到PageModel,mysql的sql语句中有limit关键字,用于查询数量的限制,其他的数据库中应该也有类似的关键字。
"然后再就是 每次dao的时候很多代码重复 比如创建session trancation"
查询多条记录可以:
protected List queryMoreResults(Query query, List<Object> paramsList, Integer begin, Integer size) throws DataAccessException{
if(paramsList!=null && paramsList.size()>0){
for(int i=0;i<paramsList.size();i++){
query.setParameter(i, paramsList.get(i));
}
}
if(begin!=null && size!=null){
query.setFirstResult(begin).setMaxResults(size);
}
return query.list();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8457a45c7
2011-10-13 · TA获得超过1372个赞
知道小有建树答主
回答量:933
采纳率:0%
帮助的人:297万
展开全部
可以考虑用spring的aop对service层做事务管理。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式