Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IT勉強会での初プレゼンなどお助けします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチできます。スライドのレビューや録画したリハへのアドバイスなどなど。Twitter@jyukutyoまでメンションでもDMでもお気軽にご連絡ください。

私はIT講師の経験があり、プレゼンはデブサミやJJUG CCCなど200人規模の経験が豊富で最大800人の前でプレゼンしました。海外ではDevoxxUSで。デブサミ2017では公募スピーカー1位、デブサミ関西2012アワードで5位となりました。

DAO Support and JDBC Framework その1

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