[Java] Spring JDBC を利用したデータベースアクセス方法の種類

Spring JDBC によるデータベースアクセスについて調べた時のメモです。

元ネタは Spring 3.2.x のドキュメント「14. Data access with JDBC 」の「14.1.1 Choosing an approach for JDBC database access」の節です。

  • JdbcTemplate はクラシックな Spring JDBC のアプローチであり、最も人気があります。 この「最下層」のアプローチとその他の全てのアプローチは内部で JdbcTemplate を使用しており、全てのアプローチはジェネリクスや可変長引数などの Java 5 の機能をサポートするようにアップデートされています。
  • NamedParameterJdbcTemplate は、従来の JDBC の “?” を使用したプレースホルダの代わりに、名前付けされたパラメータが使用できるように JdbcTemplate をラップしたものです。このアプローチは、SQL ステートメントに複数のパラメータが含まれる場合、よりコードが読みやすく利用が容易になります。

この他にも、SimpleJdbcInsert / SimpleJdbcCall、RDBMS Objects including MappingSqlQuery / SqlUpdate / StoredProcedure というアプローチがあるようですが、まずは上記の2つを使えるようになると良さそうです。

JdbcTemplate と NamedParameterJdbcTemplate の違いは、SQL 内に埋め込むパラメータの指定に「?」マークのプレースホルダを使う(JdbcTeamplte)のか、「:id」のように名前を付けたプレースホルダが使える(NamedParameterJdbcTemplate)という点です。 名前が付いたプレースホルダを使った方が、コーディング時の間違いの可能性も減ると思われます。


Pocket
Bookmark this on Yahoo Bookmark

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>