skillup

技術ブログ

Database Java

DBUtils活用

投稿日:2015年8月26日 更新日:

普段はJavaEEで開発を行っているのでデータベースへのアクセスはJPAを活用しています。

ただ、JavaEE環境だとglassfish経由でデータベースを動かしているので、glassfishを動かさずにデータベースへのアクセスをしたいときに、通常はアクセスできません。

そこで緊急的に直でデータベースにアクセスできる手法を探しました。

個人的な要望としては下記のような状態です。

  • JDBCは知っているのですが、もっとスマートにかけるほうほうをしりたい
  • デバッグなども簡単にできる
  • 通常のSQLであってもO/Rマッパーでもどちらでもよい。
  • なるべく設定ファイルなどを追加しないほうがいい
  • JPAでGlassfish経由でなく直にアクセスする方法はしっているが設定がめんどい&少し遅い

こんな方法をいろいろと考えていましたが、DBUtilsというライブラリが便利で、上記条件を満たしているので使うことに。

※似た名前でDBUnitsというものがありますがこれは違います。

インストール

例によって下記をpomに追加します。

http://mvnrepository.com/artifact/commons-dbutils/commons-dbutils/1.5

コード

  • selectでは型を指定し、SQLを入力すればOK
  • よくMap、List<Map>のデータをinsertしたいケースがあるので、これ用のメソッドを容易
  • updateというメソッドはSQLのinseert,update,delete全てを含みます。単純にSQLを投げればOK

バインドさせているものと、いないものがあったりとあまり統一性はないので(とりあえずテストデータのinsertと抽出ができればOKだったので)詳しく仕様を見たい方はリンク先を見てみてください。

リンク(DBUtils以外のライブラリもあり)

DbUtilsのサンプル

「薄い」JavaのO/Rマッパーの紹介 – DbUtils、Persist、Butterfly Persistence

Mavenの環境で、Butterfly Persistenceを使うインストールと設定

[Java]iciqlで簡単DBアクセス[ORマッパー]

-Database, Java
-

執筆者:


comment

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

関連記事

no image

クラスパスの通し方

今回はNetbeansでなく、IDEを使わずにJavaを使う場合の記事です。 Javaで開発している人の99%はIDEで開発をしていると思うのですが、サーバー上で一時的テストをしないといけないような場 …

no image

JPQLでの算術関数

複雑なJPQLを書いていると、通常のレコードの取り出しだけではなく、合計(SUM)や算出(COUNT)などのいわゆる算術関数を使うことが一般的です。 JPQLでもこれらを通常通り扱うことができます。 …

no image

論理設計のグレーノウハウ サロゲートキー

前回まではアンチパターンやバッドノウハウについて学習してきましたが、今回はグレーノウハウについて特集します。 グレーノウハウとは読んで字のごとくホワイトともブラックとも言えないという手法ですね。 つま …

no image

日付けのメソッド

どのプログラムでも必須となる日付け処理。 言語が違うといろいろと面倒です。 とりあえず頻出のものを整理したいと思います。 Contents1 現在時刻の出力2 日付けの設定・取得3 日付けの整形4 文 …

no image

例外処理について

Javaの例外処理について書きます。 自分はPHPメインでやってきましたので、この例外についてはうろ覚えでした。 PHPだと例外処理はあるんですが、まああんまり使わなかったり、理解がいい加減でもなんと …