文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

java.sql.Statement

java.sql.Statement是SQL语句接口。

表 1 对java.sql.Statement的支持情况

方法名 返回值类型 支持JDBC 4
addBatch(String sql) void Yes
clearBatch() void Yes
clearWarnings() void Yes
close() void Yes
closeOnCompletion() void Yes
execute(String sql) Boolean Yes
execute(String sql, int autoGeneratedKeys) Boolean Yes
execute(String sql, int[] columnIndexes) Boolean Yes
execute(String sql, String[] columnNames) Boolean Yes
executeBatch() Boolean Yes
executeQuery(String sql) ResultSet Yes
executeUpdate(String sql) int Yes
executeUpdate(String sql, int autoGeneratedKeys) int Yes
executeUpdate(String sql, int[] columnIndexes) int Yes
executeUpdate(String sql, String[] columnNames) int Yes
getConnection() Connection Yes
getFetchDirection() int Yes
getFetchSize() int Yes
getGeneratedKeys() ResultSet Yes
getMaxFieldSize() int Yes
getMaxRows() int Yes
getMoreResults() boolean Yes
getMoreResults(int current) boolean Yes
getResultSet() ResultSet Yes
getResultSetConcurrency() int Yes
getResultSetHoldability() int Yes
getResultSetType() int Yes
getQueryTimeout() int Yes
getUpdateCount() int Yes
getWarnings() SQLWarning Yes
isClosed() Boolean Yes
isCloseOnCompletion() Boolean Yes
isPoolable() Boolean Yes
setCursorName(String name) void Yes
setEscapeProcessing(boolean enable) void Yes
setFetchDirection(int direction) void Yes
setMaxFieldSize(int max) void Yes
setMaxRows(int max) void Yes
setPoolable(boolean poolable) void Yes
setQueryTimeout(int seconds) void Yes
setFetchSize(int rows) void Yes
cancel() void Yes
executeLargeUpdate(String sql) long No
getLargeUpdateCount() long No
executeLargeBatch() long No
executeLargeUpdate(String sql, int autoGeneratedKeys) long No
executeLargeUpdate(String sql, int[] columnIndexes) long No
executeLargeUpdate(String sql, String[] columnNames) long No

img 说明:

  • 通过setFetchSize可以减少结果集在客户端的内存占用情况。它的原理是通过将结果集打包成游标,然后分段处理,所以会加大数据库与客户端的通信量,会有性能损耗。
  • 由于数据库游标是事务内有效,所以,在设置setFetchSize的同时,需要将连接设置为非自动提交模式,setAutoCommit(false)。同时在业务数据需要持久化到数据库中时,在连接上执行提交操作。
  • LargeUpdate相关方法必须在JDBC4.2及以上使用。
Copyright © 2011-2024 www.enmotech.com All rights reserved.