Creates a default PreparedStatement object capable
of returning the auto-generated keys designated by the given array.
This array contains the names of the columns in the target
table that contain the auto-generated keys that should be returned.
The driver will ignore the array if the SQL statement
is not an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
An SQL statement with or without IN parameters can be
pre-compiled and stored in a PreparedStatement object. This
object can then be used to efficiently execute this statement
multiple times.
Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method prepareStatement will send
the statement to the database for precompilation. Some drivers
may not support precompilation. In this case, the statement may
not be sent to the database until the PreparedStatement
object is executed. This has no direct effect on users; however, it does
affect which methods throw certain SQLExceptions.
Result sets created using the returned PreparedStatement
object will by default be type TYPE_FORWARD_ONLY
and have a concurrency level of CONCUR_READ_ONLY.
The holdability of the created result sets can be determined by
calling getHoldability.
sql | an SQL statement that may contain one or more '?' IN parameter placeholders | |
columnNames | an array of column names indicating the columns that should be returned from the inserted row or rows |
PreparedStatement object, containing the
pre-compiled statement, that is capable of returning the
auto-generated keys designated by the given array of column
names
SQLException | if a database access error occurs or this method is called on a closed connection | |
SQLFeatureNotSupportedException | if the JDBC driver does not support this method |
Diagram: Connection