読者です 読者をやめる 読者になる 読者になる

Fight the Future

何かを始めたら、半分成功したのと同じ

DAO Support and JDBC Framework その1

Spring

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での操作
コールバックメソッドの使用。
ちょっと面倒なつくりっぽい。
このまま使うことはあまりなさそうなのでここは省略。