『Java Development with the Spring Framework』をまとめます。
Chapter 5から始めます。
・JDBCの問題
JDBCは重要なAPI。
JDBCの主なインターフェースはConnection, DataSource, Statement, PrepareStatement, CallableStatement, ResultSet。
これらのインターフェースを使うとSQLExceptionがついてくる。
JDBCでの問題は例外とコネクション管理に関連する。
finallyでConnection閉じたりするけどclose()自身がSQLExceptionをスローするからうっとおしい。
SQLExceptionの処理。
DBによってエラーコードが違う。
SQLExceptionじゃなんのエラーかわからん。
DataSource使おう。
DriverクラスやURLを隠蔽してくれるよ。
・Springがやってくれること
JdbcTemplate。
例外処理を書かなくていい。
SQLExceptionはDataAccessExceptionのサブクラスに変換される。
DataSourceはスレッドセーフでコネクションプーリングしてくれる。
Commons DBCPとかc3p0で実装されてる。
独自で例外の変換できるよ。
・JdbcTemplateでの操作
コールバックメソッドの使用。
ちょっと面倒なつくりっぽい。
このまま使うことはあまりなさそうなのでここは省略。