长腮的北极熊 2016-02-03 06:53 采纳率: 0%
浏览 1334
已结题

Hibernate分页效率问题

项目中使用了公司封装的数据库操作jar,但Hibernate分页效率总是不高,怀疑底层是先查后分页的情况,底子不好 各位大神劳烦看下 是先查询后分的页吗?(请先回答此问题)
有什么优化建议没?
sqlstr 为sql语句,mapps为条件

  public Map getList(String sqlstr, Map mapps, int iPageNo, int iPageSize) throws DAOException

{
HibernateCallback callback = new HibernateCallback(this, sqlstr, mapps, iPageNo, iPageSize) { final HibernatePersistenceManager this$0;
private final String val$sqlstr;
private final Map val$mapps;
private final int val$iPageNo;
private final int val$iPageSize;

  public Object doInHibernate() throws HibernateException, SQLException { Query query = this.this$0.getHibernateTemplate().createQuery(session, 
      this.val$sqlstr);
    List list = new ArrayList();

    if ((this.val$mapps != null) && (!(this.val$mapps.isEmpty()))) {
      Iterator it = this.val$mapps.keySet().iterator();
      while (it.hasNext()) {
        String numStr = (String)it.next();
        int num = Integer.parseInt(numStr);
        query.setParameter(num, this.val$mapps.get(numStr));
      }

    }

    this.this$0.setPageNo(this.val$iPageNo);
    this.this$0.setPageSize(this.val$iPageSize);
    if ((this.val$mapps != null) && (!(this.val$mapps.isEmpty())))
      this.this$0.setQueryPage(query, this.val$mapps);
    else
      this.this$0.setQueryPage(query);

    list = query.list();

    Map map = new HashMap();

    map.put("RecTotal", this.this$0.getRecTotal());
    map.put("PageTotal", this.this$0.getPageTotal());
    map.put("List", list);

    return map;
  }

};
return ((Map)getHibernateTemplate().execute(callback));

}

  • 写回答

1条回答

  • threenewbee 2016-02-03 14:35
    关注

    服务器端分页用存储过程,hibernate绑定
    参考:http://www.docin.com/p-660794652.html

    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器