我想从表中获取50条记录,其中包含数百万条记录而不使用限制
我做了以下
private void createMYSQLConnection() throws SQLException {
CachedRowSet crs = new CachedRowSetImpl();
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb",
"root", "root");
conn.setAutoCommit(false);
crs.setPageSize(100);
crs.setUsername("root");
crs.setPassword("Glass4#21");
crs.setCommand("SELECT * FROM trn_22_gouk_final_attendance");
crs.absolute(10);
crs.setFetchSize(10);
crs.execute(conn);
while (crs.next()) {
System.out.println(crs.getObject(1));
}
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
crs.close();
}
}
但它不起作用...... 任何建议
提前致谢
答案 0 :(得分:1)
JDBC'获取大小'不是为了限制结果集,请参阅this question。
JDBC没有用于分页的API,请参阅this question中的答案。
由于每个数据库类型的分页关键字不同,因此需要为所使用的数据库转换指定的分页。 Hibernate可以做到这一点,如here所示。