2014-07-11 67 views
0

我與別人的代碼工作,其中包含行:設置獲取大小,以負數

Connection conn = dataSource.getConnection(); 
conn.setAutoCommit(false); 

Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); 
stmt.setFetchSize(Integer.MIN_VALUE); 

ResultSet rs = stmt.executeQuery(myQuery); 

我想知道,如果有人可以解釋設置獲取大小,以Integer.MIN_VALUE的效果?也就是說,它是否可以獲取可能存儲的最大行數,或者它的行爲是否正確?

我應該提到我們的數據源是C3P0連接池,它使用MySQL JDBC驅動程序。

+1

[它會拋出一個SQLException?](http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#setFetchSize(int)) –

+0

我也這麼認爲,但代碼已經工作了一年多了。提取大小可能不正確,但提示被忽略。 – ktm5124

+1

@KevinL歡迎來到非標準化的世界,即MySQL ... –

回答

4

the docs(其明確地示出在一個示例代碼片段在兩個createStatement/setFetchSize行):

僅向前,只讀結果集的組合,使用整數的提取大小。 MIN_VALUE用作驅動程序逐行傳輸結果集的信號。

本着教魚的精神,我的谷歌搜索是「mysql fetch size jdbc」。

+1

本着在聘請畫家爲您的新家畫畫的同時前往漢普頓的旅程,謝謝:) – ktm5124