public class Query extends Object implements AutoCloseable
| 构造器和说明 |
|---|
Query(Connection connection,
String queryText,
boolean returnGeneratedKeys) |
Query(Connection connection,
String queryText,
String[] columnNames) |
public Query(Connection connection, String queryText, boolean returnGeneratedKeys)
public Query(Connection connection, String queryText, String[] columnNames)
public boolean isCaseSensitive()
public Query setCaseSensitive(boolean caseSensitive)
public boolean isAutoDeriveColumnNames()
public Query setAutoDeriveColumnNames(boolean autoDeriveColumnNames)
public Query throwOnMappingFailure(boolean throwOnMappingFailure)
public boolean isThrowOnMappingFailure()
public Connection getConnection()
public String getName()
public ResultSetHandlerFactoryBuilder getResultSetHandlerFactoryBuilder()
public void setResultSetHandlerFactoryBuilder(ResultSetHandlerFactoryBuilder resultSetHandlerFactoryBuilder)
public Query addParameter(String name, InputStream value)
public Query addParameter(String name, Object... values)
createQuery("SELECT * FROM user WHERE id IN(:ids)")
.addParameter("ids", 4, 5, 6)
.executeAndFetch(...)
will generate the query : SELECT * FROM user WHERE id IN(4,5,6)PreparedStatement:
since the text query passed to the PreparedStatement depends on the number of parameters in the array,
array parameters are incompatible with batch mode.null will be set to the array parameter:
SELECT * FROM user WHERE id IN(NULL)NullPointerException - if values parameter is nullpublic Query addParameter(String name, Collection<?> values)
addParameter(String, Object...) for detailspublic void close()
close 在接口中 AutoCloseablepublic <T> ResultSetIterable<T> executeAndFetchLazy(Class<T> returnType)
ResultSetIterable.close() when you are done iterating.returnType - type of each rowpublic <T> ResultSetIterable<T> executeAndFetchLazy(ResultSetHandlerFactory<T> resultSetHandlerFactory)
ResultSetIterable.close() when you are done iterating.resultSetHandlerFactory - factory to provide ResultSetHandlerpublic <T> ResultSetIterable<T> executeAndFetchLazy(ResultSetHandler<T> resultSetHandler)
ResultSetIterable.close() when you are done iterating.resultSetHandler - ResultSetHandlerpublic <T> List<T> executeAndFetch(ResultSetHandler<T> resultSetHandler)
public <T> List<T> executeAndFetch(ResultSetHandlerFactory<T> factory)
public <T> T executeAndFetchFirst(Class<T> returnType)
public <T> T executeAndFetchFirst(ResultSetHandler<T> resultSetHandler)
public <T> T executeAndFetchFirst(ResultSetHandlerFactory<T> resultSetHandlerFactory)
public LazyTable executeAndFetchTableLazy()
public Table executeAndFetchTable()
public Connection executeUpdate()
public Object executeScalar()
public <V> V executeScalar(Class<V> returnType)
public <V> V executeScalar(Converter<V> converter)
public Query setMaxBatchRecords(int maxBatchRecords)
executeBatch() from addToBatch(). executeBatch() after finished
adding all commands to the batch because commands may remain unexecuted after the
last addToBatch() call. Additionally, if fetchGeneratedKeys is set, then
previously generated keys will be lost after a batch is executed.IllegalArgumentException - Thrown if the value is negative.public int getMaxBatchRecords()
public int getCurrentBatchRecords()
public boolean isExplicitExecuteBatchRequired()
public Query addToBatch()
Query
object's batch of commands. getCurrentBatchRecords()
method.public <A> List<A> addToBatchGetKeys(Class<A> klass)
Query
object's batch of commands and returns any generated keys. fetchGeneratedKeys is set. getCurrentBatchRecords()
method.public Connection executeBatch() throws Sql2oException
Sql2oExceptionCopyright © 2021. All rights reserved.