What is a CallableStatement used for in JDBC?
- Executing DDL statements.
- Executing batch updates.
- Executing dynamic SQL queries.
- Executing stored procedures.
CallableStatement is used in JDBC for executing stored procedures in the database, providing a way to call database stored procedures from Java code.
How does PreparedStatement help in preventing SQL injection attacks?
- It automatically escapes special characters in the SQL query.
- It encrypts the entire SQL query.
- It relies on client-side validation.
- It uses parameterized queries.
PreparedStatement helps prevent SQL injection attacks by using parameterized queries, ensuring that user input is treated as data and not executable code.
What method is used to execute a stored procedure using a CallableStatement?
- callProcedure()
- execute()
- executeProcedure()
- executeQuery()
The execute() method is used to execute a stored procedure using a CallableStatement.
How can you retrieve the output of a stored procedure using CallableStatement?
- getOutput()
- getOutputParameterValue()
- getProcedureOutput()
- getResultSet()
You can retrieve the output of a stored procedure using getOutputParameterValue() method in CallableStatement, which returns the value of a designated OUT parameter after the stored procedure execution.
What is the impact on performance when using PreparedStatement for repeated database operations?
- Decreased performance due to compilation
- Improved security with parameterized queries
- Increased performance due to query caching
- No impact on performance
Using PreparedStatement can lead to increased performance as the query is precompiled and cached, reducing database load and improving execution speed.
How do you handle transaction management when using PreparedStatement and CallableStatement?
- Explicitly commit transactions using commit()
- Rollback transactions using rollback()
- Transactions are automatically managed
- Use Connection.setAutoCommit(false)
To handle transactions with PreparedStatement and CallableStatement, set auto-commit to false using Connection.setAutoCommit(false) and then explicitly commit or rollback transactions using commit() and rollback() methods, respectively.
To set a date in a PreparedStatement, the method _________ is used.
- setDate()
- setDateValue()
- setTime()
- setTimestamp()
The setDate() method is used to set a date in a PreparedStatement when working with JDBC.
When using a CallableStatement, the method _________ is used to register an OUT parameter.
- outParameter()
- registerOutParameter()
- registerOutput()
- setOutParameter()
When using a CallableStatement in JDBC, the registerOutParameter() method is used to register an OUT parameter.
A __________ strategy in connection pooling helps to optimize resource utilization under varying load conditions.
- Adaptive Allocation
- Dynamic Allocation
- Incremental Allocation
- Static Allocation
An Adaptive Allocation strategy in connection pooling helps optimize resource utilization under varying load conditions.
In what scenarios is CallableStatement preferable over PreparedStatement?
- Executing SQL queries with input parameters
- Handling batch updates
- Handling stored procedure calls
- Optimizing read-only operations
CallableStatement is preferable when dealing with stored procedures as it allows the execution of precompiled SQL queries, making it suitable for scenarios where stored procedures are used.