2012年6月17日日曜日

[Spring] JdbcTemplateとC3P0を使ってデータベースアクセス (前編)

その昔、Javaプログラマ達はJDBCを直接使ってデータベースへのアクセスをしておったのじゃ。
それはそれは長く退屈なコードじゃった。。。



ドライバのロード
コネクションの取得
クエリの作成
PreparedStatement
クエリ実行
ResultSetからの値の取り出し
コネクションのクローズ
諸々の例外処理(try~catch)
優れた先達は、この退屈なコードをそれぞれ工夫してゆき、さまざまなフレームワークを産み出していったのじゃった。。。

というわけで、DBアクセスのフレームワークはいろいろありますが、今回はSpringのJdbcTempleteを使ってみます。(先にHibernateのエントリを書いてしまいましたが。。)
あと、コネクションプーリングとしてC3P0も使ってみようかと。
理由は、JNDIのためにわざわざTomcatとかJ2EEコンテナ使うのが面倒だったから。POJO、POJO言ってるんだから、JNDIが面倒なのは決まってる。

ちなみに私が初めてJDBCに触れたのが今からだいたい10年前のこと。会社に入って最初で最後の商用プログラムをWebSphere Studio(Eclipseの前身だったかな)で書いていました。Strutsを使った開発でした。それからちょっとしてからSpringやらHibernateやらが出てきたような記憶があります。

必要なライブラリはどこにあるんだ!?
Springを利用するためにJarライブラリを入手しなければならないはずなのだが、これがまたどこから入手していいのか困った困った。
Springのサイトに行ってもSpringSourceToolとかなんとかいってよう分からんし。
Mavenを使って入手しているサイトを見つけたので、やってみることにしました。うまくいくことを信じて。

必要なライブラリの取得(Maven)
事前にm2eclipseをインストール。(詳しくは別エントリで)
とりあえず試しにMavenプロジェクトをてきとうに新規作成してみる。
JREフォルダとともに「Maven Dependencies」というフォルダが作られていて、すでにパスが通っている状態。

pom.xmlも生成されているので、これをダブルクリックで開く。専用のエディタで開かれる。
エディタの下部にあるDependenciesタブで左側のDependenciesのAddボタンをクリック
Enter groupId, artifactId or sha1 prefix or pattern (*)の欄に
org.springframework
と検索ワードを入力するとSearch Resultsにつらつらと一覧が表示されるはず。
今回は
spring-2.5.6.SEC03.jar
を選択。
pom.xmlを保存してしばらくすると、Maven DependenciesフォルダにSpringのJarと、依存関係のあるライブラリ(commons-logging)が表示されるはず。
これで使えるようになった。

あと、MySQL用のJDBCドライバとC3P0のライブラリも同様にMavenで取得する。
検索ワードはそれぞれ
mysql connector
c3p0
でよいかと。今回は下記を選択した。
mysql-connector-java-5.1.20.jar
c3p0-0.9.1.2.jar

Spring IDEのインストール
たぶんSpringの設定ファイルを書くことになるので、使えるかもしれないと思いインスト。
Eclipse Marketplaceで、「Spring」って検索ワードを入れると出てくるはずなので、installボタンをクリック。簡単。

とりあえずここまでで準備は完了。
後編へつづく。

0 件のコメント: