title: JDBC - Statement, PreparedStatement, CallableStatement and caching
body: <p>I am wondering what are the differences and when to use <code>Statement</code>, <code>PreparedStatement</code>, and <code>CallableStatement</code>.</p>
  
  <p>What is the best practice and typical scenario of using each of these?</p>