- 使用
public class PageSelectDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 输入每页条数和多少页
System.out.println("每页数据条数");
int size = scan.nextInt();
System.out.println("输入查询第几页");
int pageNum = scan.nextInt();
try(Connection conn = DBUtils.getConn()){
String sql = "select * from user limit ?,?";
PreparedStatement ps = conn.prepareStatement(sql);
//limit后第一个?值得公式:(请求的页码-1)*每页条数
ps.setInt(1,(pageNum-1)*size);
//limit后第二个?值,永远是每页条数
ps.setInt(2,size);
//result结果集
ResultSet rs = ps.executeQuery();
while (rs.next()){
//结果集的第一列
String name = rs.getString(1);
System.out.println(name);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
- limit是sql中的分页查询
- ps.setInt(1,(pageNum-1)*size);得出跳过多少条数据。以每页5条数据,查询第三页为例。(3-1)*5 = 10。 跳过10条数据。