有谁做过查询后,分页的吗。意思就是根据用户所填写的关键字来进行查询,如果查询到很多,在根据查询的结果进行分页。。
最好给个实例来研究研究

解决方案 »

  1.   

    比如:查询学生信息
    条件:学生姓名、学生性别、学生住址
    语句:
    String sql=select * from tb_table where 1=1;
    //根据姓名条件构造sql
    if(stuname!=null)(sql+=" and stuname="+stuname;)
    //根据年龄条件构造sql
    if(stusex!=null)(sql+=" and stusex="+stusex;)
    //根据住址条件构造sql
    if(stuaddr!=null)(sql+=" and stunaddr="+stuaddr;)
    //分页条件根据不同数据库例如oracle
    sql+=" order by id having rownum>"+(index-1)*pageSize+" and rownum<="+(index)*pageSize;一般框架SSH有现成的方法。直接调用不需要拼凑sql语句。
      

  2.   

    public List<E> findByPage(final String HQL, final int pageSize, final int pageNow) {
    List<E> lists = getHibernateTemplate().executeFind(new HibernateCallback<Object>() {
    @Override
    public List<E> doInHibernate(Session session)
    throws HibernateException, SQLException {
    List<E> lists = session.createQuery(HQL).setMaxResults(pageSize).setFirstResult(pageSize*pageNow).list();
    return lists;
    }
    });
    return lists;
    }
      

  3.   

    前台展现可以考虑使用datagrid