sql server2000 sql话语和hibernate hql语句分别实现分页

sql server2000 sql语句和hibernate hql语句分别实现分页
hibernate hql语句实现分页

//根据当前的页得到相应的显示条数
public Vector getMessage(int pagesize ,int curpage)
{
  Session session=HibernateSessionFactory.getSession();
  String hql="from Message as m";
  Query find=session.createQuery(hql);
  int beginrows=(curpage-1)*pagesize;
  //设置开始在哪条

  find.setFirstResult(beginrows);
  //显示的条数

  find.setMaxResults(pagesize);
  List list=find.list();
  MessageObj obj=null;
 
  Vector v=new Vector();
 
  Iterator iter=list.iterator();
  while(iter.hasNext())
  {
    obj=new MessageObj();
    Message m=(Message)iter.next();
    obj.setContent(m.getContent());
    obj.setId(m.getId().intValue());
    obj.setReceiver(m.getReceiver());
    obj.setSender(m.getSender());
    obj.setSendTime(m.getSendTime().toString());
    v.add(obj);
  }
  return v;
}

//sql server2000 sql语句实现分页注意sql语句

//从数据库中读取相应的信息存储在集合中
    public Vector getMessage(int pagesize,int curpage,String receiver)
    {
         Connection con=db.getCon();

         String sql="select top  "+pagesize+"  sender,sendTime,receiver,content,id from message where id not in( select top "+(curpage-1)*pagesize+"  id from message where receiver='"+receiver+"' order by id desc ) and receiver='"+receiver+"'  order by id desc";
         System.out.println(sql);
        try {
            Statement st = con.createStatement();
            ResultSet rs=st.executeQuery(sql);
            while(rs.next())
            {
               Message=new MessageClass();
               Message.setSender(rs.getString(1));
               Message.setTime(rs.getString(2));
               Message.setReceiver(rs.getString(3));
               Message.setContent(rs.getString(4));
               Message.setId(rs.getInt(5));
               v.add(Message);
            }
        } catch (SQLException ex) {
             ex.printStackTrace();
          }
          finally
          {
              db.CloseDateBase(con);
          }

        return v;
    }