exec
Executes the provided statement exactly, using the supplied args to set values to question mark placeholders (if applicable).
The explicitStatementType can be manually set to avoid iterating over StatementType values for the best match.
Samples
org.jetbrains.exposed.sql.tests.shared.ParameterizationTests.testInsertWithQuotesAndGetItBackExecutes the provided statement exactly, using the supplied args to set values to question mark placeholders (if applicable).
The explicitStatementType can be manually set to avoid iterating over StatementType values for the best match.
Note StatementType.MULTI
can be set to enable execution of multiple concatenated statements. However, if more than one ResultSet is generated, only the first will be used in the transform block. Multiple statements in a single execute is not supported by all databases and some may require setting a JDBC driver flag, like MySQL with allowMultiQueries
. Please check the specific database documentation.
Return
The result of transform on the ResultSet generated by the statement execution, or null
if no ResultSet was returned by the database.
Samples
org.jetbrains.exposed.sql.tests.shared.ParameterizationTests.testInsertWithQuotesAndGetItBackorg.jetbrains.exposed.sql.tests.shared.TransactionExecTests.testExecWithSingleStatementQueryExecutes the provided Statement object and returns the generated value.
This function also updates its calling Transaction instance's statement count and overall duration, as well as whether the execution time for stmt exceeds the threshold set by DatabaseConfig.warnLongQueriesDuration
. If Transaction.debug is set to true
, these tracked values are stored for each call in Transaction.statementStats.
Executes the provided Statement object, retrieves the generated value, then calls the specified function body with this generated value as its argument and returns its result.
This function also updates its calling Transaction instance's statement count and overall duration, as well as whether the execution time for stmt exceeds the threshold set by DatabaseConfig.warnLongQueriesDuration
. If Transaction.debug is set to true
, these tracked values are stored for each call in Transaction.statementStats.