2015-09-01から1ヶ月間の記事一覧

パフォーマンス確認

簡単にパフォーマンスチェックをしてみます。 id、name を持つテーブルに1万件insertしてみました。 特に意外な結果にはならなかったので、問題ないかなと思います。結果はソース中にコメントで書いておきました Dao019.java public interface Dao019 { @Sql…

ログ出力

log4j で簡単にログ出力できます。 DBIにログ設定したり、Handleにもログ設定できます。 必要なところだけロギングしたければHandleに設定すればよいでしょう。 log4j.jar をクラスパスに加えないとコンパイルできないかもしれませんのでご注意を。 Sample02…

insertした時のidを取得する その2

一応こんなこともできるというご紹介で、前回は1レコードだけinsertしたIDを取得する処理でしたが、今回は複数レコード対応です。 insert select で複数レコード登録した際に、それらのIDがListで返ってきます。 Dao017.java public interface Dao018 { @Sql…

insertした時のidを取得する その1

よくあるRESTのパターンとして、IDはシーケンスを設定しておき、APIから指定された内容を登録したらIDを返す、というもの。JDBIではどうやればいいのかというサンプルです。 Dao017.java public interface Dao017 { @SqlUpdate("CREATE SEQUENCE seq") void …

トランザクション その10 DaoからHandleを取得する with Mixin

今まで、DBIオブジェクト or HandleオブジェクトからDaoを取得してきましたが、今度は逆にDaoからHandleオブジェクトを取得してみましょう。取得するには、「getHandle」メソッドを宣言すればいいのですが、今回は予めJDBI側で用意されているMixin用のinterf…

トランザクション その9 Daoからbegin〜commit〜rollbackを呼べるようにする

Handleから自前でトランザクション制御するのは以前やりましたが、Daoでもできますのでそのサンプルです。敢えてこの方法でトランザクション処理を書く必要は無さそうですけど、一応こんなこともできますよーという意味で。 Dao015.java public interface Da…