hibernate执行sql 分页
Configurationconfig=newConfiguration().configure();SessionFactorysessionFactory=confi...
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
SQLQuery c = session.createSQLQuery("");
c.setFirstResult(1);
c.setMaxResults(10);
return c.list();
为什么我设置分页参数 就查不出来数据了 去掉这个设置就有数据
并且返回的数据格式不对啊
[0]:username
[1]:userid
[2]:password
怎么才能让他返回时这个格式
username:username
userid:userid
password:password
hibernate里面的方言确定没有问题 是不是还有其他的配置项 展开
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
SQLQuery c = session.createSQLQuery("");
c.setFirstResult(1);
c.setMaxResults(10);
return c.list();
为什么我设置分页参数 就查不出来数据了 去掉这个设置就有数据
并且返回的数据格式不对啊
[0]:username
[1]:userid
[2]:password
怎么才能让他返回时这个格式
username:username
userid:userid
password:password
hibernate里面的方言确定没有问题 是不是还有其他的配置项 展开
4个回答
展开全部
session.createSQLQuery("").addEntity(Entity.class);
entity就是你要取的对象。然后list用泛型取出来就好了,这个最基本的
entity就是你要取的对象。然后list用泛型取出来就好了,这个最基本的
追问
我查询的时候多个表里的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以直接用struts2中的 display这个标签进行分页 代码写的少 清晰 但是别人说这个不好 不过用起来还可以的
追问
我们没有用struts啊
追答
package com.accphr.util;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
/**
* 分页JavaBean
*
*
*/
public class PageBean {
/*** 当前页 */
private int curPage = 1;
/*** 总记录数 */ private int totalRecord = 0;
/*** 每页记录数 */ private int pageRecord = 10;
/*** 是否分页,默认分页 */ private boolean paginate = true;
/*** 请求的URL */ private String url;
/*** 请求中的参数 */ private Map parameters = new HashMap();
// 参数
/**
* 排序字段
*/
private String sort;
/**
* 排序方式 默认 asc
*/
private String order = " asc";
public PageBean() {
super();
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
if (StringUtils.isNotBlank(order)) {
this.order = " " + order;
}
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
if (StringUtils.isNotBlank(sort)) {
this.sort = sort;
}
}
public PageBean(HttpServletRequest request) {
super();
this.setRequest(request);
}
/**
* 使用HttpServletRequest对象对分页Bean进行初始化
*
*/
@SuppressWarnings("unchecked")
public void setRequest(HttpServletRequest request) {
this.setCurPage(request.getParameter("curPage"));// 从请求中获取当前页
this.setPageRecord(request.getParameter("pageRecord"));// 从请求中获取页大小
this.setPaginate(request.getParameter("paginate"));// 获取用来判断是否分页的参数
this.setUrl(request.getContextPath() + request.getServletPath());// 获取表示请求资源的URL
this.setParameters(new HashMap(request
.getParameterMap()));// 获取请求中的所有参数
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public List searchAll(Object paramObj, int currentPage, int pageSize) {
list = new ArrayList();
list = super.getHibernateTemplate().findByExample(paramObj,
pageSize * (currentPage - 1), pageSize);
return list;
}
list = new ArrayList();
list = super.getHibernateTemplate().findByExample(paramObj,
pageSize * (currentPage - 1), pageSize);
return list;
}
追问
paramObj 这是实体么 我要查询的是多个表的数据 我的数据库是Oracle好像在设定
c.setFirstResult(1);
c.setMaxResults(10);
的时候不起作用啊
追答
如果是多表查询可设置paramObj对象是那个多表关联后的封装类就好
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
createQuery 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询