ShirleenShen 2016-06-15 05:48 采纳率: 66.7%
浏览 2703
已采纳

关于页数的问题,谁能解释一下这些代码什么意思

com.dao.impl相关代码
public List selectBeanList(final int start,final int limit,final String where) {
return (List)this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(final Session session)throws HibernateException, SQLException {

List list = session.createQuery("from User "+where)
.setFirstResult(start)
.setMaxResults(limit)
.list();
return list;
}
});
}

麻烦解释下start、limit、where分别是指什么,
然后这句话
List<User> list = session.createQuery("from User "+where)
            .setFirstResult(start)
            .setMaxResults(limit)
            .list();
是什么意思?

com.action相关代码
//注册用户列表
public String userlist() {
    HttpServletRequest request = this.getRequest();
    String username = request.getParameter("username");
    StringBuffer sb = new StringBuffer();
    sb.append(" where ");

    if (username != null && !"".equals(username)) {
        sb.append("username like '%" + username + "%'");
        sb.append(" and ");
        request.setAttribute("username", username);
    }

    sb.append("   deletestatus=0 and role=1 order by id desc ");
    String where = sb.toString();

    int currentpage = 1;
    int pagesize = 10;
    if (request.getParameter("pagenum") != null) {
        currentpage = Integer.parseInt(request.getParameter("pagenum"));
    }
    int total = userDao.selectBeanCount(where.replaceAll(
            "order by id desc", ""));
    request.setAttribute("list", userDao.selectBeanList((currentpage - 1)
            * pagesize, pagesize, where));
    request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pagesize,
            currentpage, "method!userlist", "共有" + total + "条记录"));
    request.setAttribute("url", "method!userlist");
    request.setAttribute("url2", "method!user");
    request.setAttribute("title", "注册用户管理");
    this.setUrl("admin/user/userlist.jsp");
    return SUCCESS;

}

麻烦解释一下where.replaceAll那里是什么意思
  • 写回答

2条回答 默认 最新

  • little_how 2016-06-15 05:55
    关注

    where其实是从另外一个地方传过来的字符串参数,一般是查询条件。
    where在本质上是String,所以他支持String的所有api,所以where.replaceAll就很正常,这里是模式
    替换字符串里面的东西。

    start和limit也都是方法传入的int型参数,是分页用的,start就是起始条目,limit就是需要读取的条目数量。

    如果有帮助,希望结帖

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器