jdbcpagingtest.java
来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· Java 代码 · 共 110 行
JAVA
110 行
package com.dingl.jdbc;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JdbcPagingTest extends CommonTestCase{
String sql = "select /*+ FIRST_ROWS(10) */ * from demo_table";
public void tearDown() throws Exception {
}
public void testUseScrollResult() throws SQLException {
PreparedStatement stmt = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
// stmt.setMaxRows(10);
long time1 = System.currentTimeMillis();
ResultSet rs = stmt.executeQuery();
assertTrue(rs.next());
// rs.absolute(200000);
int i = 0;
do {
i++;
if (i > 900000 ) {
System.out.println("id " + rs.getString(1) + "Address "
+ rs.getString(2) + " CITY " + rs.getString(3)
+ " CITY " + rs.getString(4) +
" CITY " + rs.getString(5));
}
if (i > 900010) {
break;
}
} while (rs.next());
long time2 = System.currentTimeMillis();
System.out.println("useScrollResult Time is " + (time2-time1));
}
public void testUseScrollResultWithFetch() throws SQLException {
PreparedStatement stmt = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
long time1 = System.currentTimeMillis();
ResultSet rs = stmt.executeQuery();
// rs.setFetchDirection(ResultSet.FETCH_FORWARD);
rs.setFetchSize(10);
assertTrue(rs.next());
rs.absolute(200000);
int i = 0;
do {
System.out.println("id " + rs.getString(1) + "Address "
+ rs.getString(2) + " CITY " + rs.getString(3)
+ " CITY " + rs.getString(4) +
" CITY " + rs.getString(5));
i++;
if (i > 10) {
break;
}
} while (rs.next());
long time2 = System.currentTimeMillis();
System.out.println("useScrollResultWithFetchTime is " + (time2-time1));
}
public void testUseDefaultResult() throws SQLException {
String sql = " SELECT * FROM (SELECT A.*, ROWNUM RN FROM " +
"(SELECT * FROM demo_table) A WHERE ROWNUM <= 900010)" +
" WHERE RN >= 900000";
// String sql = " select * from " +
// " (select a.*, ROWNUM RN" +
// " from (select * from demo_table) " +
// " a where rownum<=200000" +
// " )" +
// " and rn<=10";
PreparedStatement stmt = conn.prepareStatement(sql);
long time1 = System.currentTimeMillis();
ResultSet rs = stmt.executeQuery();
assertTrue(rs.next());
// rs.absolute(200000);
int i = 0;
do {
System.out.println("id " + rs.getString(1) + "Address "
+ rs.getString(2) + " CITY " + rs.getString(3)
+ " CITY " + rs.getString(4) +
" CITY " + rs.getString(5));
i++;
if (i > 10) {
break;
}
} while (rs.next());
long time2 = System.currentTimeMillis();
System.out.println("useDefaultResultTime is " + (time2-time1));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?