I am wondering what are the differences and when to use Statement, PreparedStatement, and CallableStatement.
What is the best practice and typical scenario of using each of these?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Statement vs PreparedStatement
Performance can be better with PreparedStatement but is database dependent.
With PreparedStatement you avoid SQL injection. How does a PreparedStatement avoid or prevent SQL injection?
Better type check with preparedStatement by setInt, setString where as statement you just keep appending to the main SQL.
Similar Post:
Difference between Statement and PreparedStatement
CallableStatement – Java answer to access StoredProcedures across all databases.
Similar post
CallableStatement vs Statement
With PreparedStatement and Callable you already have caching, also caching is a big topic in its own, you wouldn’t like to do all of that instead look at ehcache
You should almost always prefer PreparedStatement over Statement
If you have to operate over StoredProcedure you have just one option CallableStatement.