对于hibernate而言 只需要Query对象调用两个方法
1.setFirstResult(); 表示数据是从哪一条记录开始,一般设值为 (每页的显示数据数目 - 1)* 当前页数
2.setMaxResult(); 表示每页显示的数据条数。
对于JDBC而言 也十分简便
需要引入一个CachedRowSet 对象,来处理 ResultSet ,然后给它设置每页的显示数据数目和从第几条数据开始
举例:
public CachedRowSet query(String sql , int pageSize
, int page)throws Exception
{
// 加载驱动
Class.forName(driver);
try(
// 获取数据库连接
Connection conn = DriverManager.getConnection(url
, user , pass);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql))
{
// 使用RowSetProvider创建RowSetFactory
RowSetFactory factory = RowSetProvider.newFactory();
// 创建默认的CachedRowSet实例
CachedRowSet cachedRs = factory.createCachedRowSet();
// 设置每页显示pageSize条记录
cachedRs.setPageSize(pageSize);
// 使用ResultSet装填RowSet,设置从第几条记录开始
cachedRs.populate(rs , (page - 1)