小弟是java新手最近做了一个通讯簿的小例子基于s1sh,其中要有分页功能,开始时用的struts的pager标签做的分页 结果做完后真的好用,但是发现了问题就是点击上一页或下一页时点几次项目就不动 通过控制台输出发现在点击某个操作的时候仍然会进入action 但是不会执行分页的方法了 比较纠结,询问他人,有人告诉我说是我的分页效率有问题让我换种方法,我又在网上找了种别的方法扒下来了,现在这个分页的方法做完了也好用,但是却出现了和上次一样的问题,我想可能不会是分页的效率问题,但是知识有限却想不明白哪里出了问题,特来这里求教,,, 

解决方案 »

  1.   

    Hibernate配置文件加上下面几句:
    <property name="c3p0.min_size">5</property>
    <property name="c3p0.max_size">30</property>
    <property name="c3p0.timeout">1800</property>
    <property name="c3p0.max_statements">50</property>
      

  2.   


    // pageSize是设置数据库每次返回多少条数据   startRow是设置每页从第几条数据开始 public List getAllAusers(int pageSize, int startRow) throws Exception {
       Session session=this.getSession();
       String hql="from Auser";
       Query query=session.createQuery(hql);
       query.setFirstResult(startRow);
       query.setMaxResults(pageSize);
       return query.list();
    }

    // 获取返回数据个数
    public int getRows()throws Exception{
       Session session =this.getSession();
       String hql="select count(*) from Auser";
       Query q=session.createQuery(hql);    // 有时候uniqueResult()方法返回的是一个Long类型的变量而不是Integer类型的变量 原因是J2EE版本不一样 所以这里有必要进行一下类型转换
       Long lo=(Long)q.uniqueResult();
       Integer count=new Integer(String.valueOf(lo));
       return count;
    }
    这是分页方法的实现类
      

  3.   

    这个问题我朋友以前也遇到过,你换个Tomcat版本试试看可以不可以~
      

  4.   

    嗯 ok 又问了下老师 老师也没有具体的办法 说没有看到代码说不清楚 呵呵 教我用hibernate的分页试试  正在尝试
      

  5.   

    我以前碰到的是tomcat的版本问题是··
      

  6.   

    必须用hibernate实现么,也可以SQL直接实现
      

  7.   

    纠结 弄个别的版本的tomcat也这么费劲 算了回家去下吧  公司的网速真是,,,,, 小弟第一次发帖,结贴的时候是不是点结贴就行了?