当然可以的 我发一段 我项目中用的... 可不可以 你要查api啊 api说可以就可以 说不可以就不可以啦~~~
/**
* 使用hql语句进行分页查询
* @param hql 需要查询的hql语句
* @param value 如果hql有一个参数需要传入,value就是传入hql语句的参数
* @param offset 第一条记录索引
* @param pagesize 每页需要显示的记录数
* @return 当前页的所有记录
*/
public list findbypage(final string hql , final object value ,
final int offset, final int pagesize)
{
//通过一个hibernatecallback对象来执行查询
list list = gethibernatetemplate()
.executefind(new hibernatecallback()
{
//实现hibernatecallback接口必须实现的方法
public object doinhibernate(session session)
throws hibernateexception, sqlexception
{
//执行hibernate分页查询
list result = session.createquery(hql)
//为hql语句传入参数
.setparameter(0, value)
.setfirstresult(offset)
.setmaxresults(pagesize)
.list();
return result;
}
});
return list;
}
弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像preparedstatement一样,用?来代替的。 用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用sql profiler来处理这个事情。 p6spy:
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....