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

EzJDBCで複雑な抽出条件を設定する方法!

EzJDBCでは下記のような複雑(?)な抽出条件を設定する方法を説明します。 WHERE 住所 like 'TOKYO%' AND (性別='男' AND 年齢30 OR 性別='女' AND (年齢20 OR 年齢>60)) // テーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // CUSTOMERテーブ…

EzJDBCでiteratorを利用して更新する方法!

EzJDBCでは照会結果を1レコード毎に取得し更新する事ができます。 // トランザクション開始 EzTx.begin(); // テーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // CUSTOMERテーブルを照会 EzJDBC jdbc = EzJDBC.from(_CS).where(_CS.NAME.li…

EzJDBCを利用すると生産性が向上する理由!

社内向けのエントリー。。。 EzJDBCを利用すると生産性が向上します。。。おそらく現在の2倍〜3倍は硬い!!!では何故?EzJDBCを利用すると生産性が向上するか!の理由の一部を説明したいと思います。。。 以下のソースを記述するのに、キーボードを叩く回…

EzJDBCでロックを指定する方法!

EzJDBCでロックする参照を行う方法は、無敵に簡単です(日本語が変だ)。ロックの種類は、プロジェクトまたはユースケースによって異なると思います。そんな場合にもEzJDBCは対応います。1.プロジェクト単位で設定したロックを利用する場合 EzTx.propertie…

EzJDBCで複数DBに接続する方法

EzJDBCで複数のRDBにアクセスする方法は、無敵に簡単です(日本語が変だ)ずばりこれだけ。。。 // JDBC接続の場合 EzJDBC jdbc = new EzJDBC("DRIVER","URL","USERID","PASSWORD")... // Datasource接続の場合 EzJDBC jdbc = new EzJDBC("datasourceキー").…

EzJDBCで件数を取得する!vol.2

以下のエントリ「EzJDBCで件数を取得する!」に対して、内輪から同じ事を2度書くのは生産性が良くないとの指摘を受けたので補足説明を…えーと、EzJDBCでは最後のメソッド(今回でいえばfindやcount)が呼び出された時にSQLを生成するので、同じ内容を何度も記…

EzJDBCで件数を取得する!

id:hiro_nemuさんのblogで、以下のエントリを見つけたのでEzJDBCの場合を書いてみる。。。 S2JDBCで件数を取得する(SELECT COUNT(*))ページング処理するときlimit, offsetを指定したデータ取得用SQLと、総件数を取得するSQLってSQL自体大体同じ内容なので、…

新人教育

新人教育について。。。今年度の新入社員は配属されてから、もう半年たとうとしている。。。良いのか悪いのかは分からないが、ほとんどフレームワークを利用しないで研修用のプログラム開発を進めてもらった。目的は様々な機能を自分で実装し、どの様にすれ…

「Google講演会@東工大のおしらせ」だそうです。

id:masataka_kさんからの告知です。コピペしておきました(^^) Google VP 講演会主催: 東京工業大学 GCOE 計算世界観・学術国際情報センター日時: 9月25日(金) 10:30-12:00場所: 本館4階第一会議室(410号室)詳細: http://www.is.titech.ac…

EzJDBCで妄想してみた(^^;)

EzJDBCをバッチ系処理(大量データを取り扱う処理)でもストレスなく利用する方法を検討中。。。 イメージは以下のような感じ…1.通常の照会と同様にEzJDBCを利用してテーブルを照会するロジックを記述。 2.EzJDBC#.create(仮名)メソッドを呼び出し、テンポラリ…

SQLのOR句にの取り扱いについて!

Javaの国産O/Rマッパーでは、かなり有名な「DBFlute」の開発者であるid:jfluteさんのblogで、仕様再検討の一つとしてOR句をサポートの要否についてのアンケートをとられています。その中で、衝撃的な内容が…><私が関わったプロジェクトでは、悲しいかなOR…

Domaがすごいらしい。。。

JavaのO/Rマッパーと言えば「Hibernate」「TopLink」「JPA」に「iBATIS」等などあり、国産では「S2Dao」「S2JDBC」そして「DBFlute」と素晴らしいFwが数多くあります。。。そんな中「2009 Seasar Conference」で注目を浴びたのが「Doma」のようです。開発者(…

EzJDBCのEXPORT機能で抽出条件を指定する方法!

EzJDBCのEXPORT機能では抽出条件を指定することが出来ます。指定の方法は通常の照会系と同様です。簡単ですね...(^^) // EXPORTするテーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // 削除コードがNULLのデータをEXPORT boolean result = n…

EzJDBCでテーブルのIMPORT,EXPORTする機能!

題の通りの機能です(^^; // CUSTOMERテーブルをEXPORT boolean result = new EzJDBC().from(new CUSTOMER()).exportFile("出力ファイルPATH"); // CUSTOMERテーブルにIMPORT boolean result = new EzJDBC().to(new CUSTOMER()).importFile("入力ファイル…

テーブル更新時の自動セット項目について考えてみた!

EzJDBCをタイプセーフに記述するためのテーブルメタ情報クラスのプロパティ(列情報)にinsertAutoSetWhenNull(...)メソッドなどつけると便利なのだろうか(・・? 例えば以下のような感じ… /** CUSTOMERテーブルのメタデータクラス */ public class CUSTOMER …

EzJDBCでキャッシュする方法!

EzJDBCでは照会結果をキャッシュする機能が存在します。キャッシュするには「EzJDBC#cache()」メソッドで指定します。 // テーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // CUSTOMERテーブルを照会するJDBCインスタンスを生成します EzJDB…

EzJDBCでEntityのプロパティーが特定値の場合は更新対象外にする方法

テーブルを更新(update)する際に、特定値(null等)の場合は更新対象外にしたい場合があるかと思います。その様な時、EzJDBCではexcludeValuesメソッドを利用します。 // テーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // Entityのプロパテ…

EzServletでエラーメッセージを「吹き出し」で直感的にする方法(^^;)

小ネタですので笑ってみて下さい。。。一般的なWEBシステムでは、エラーメッセージは以下の様にHTMLの上部や下部に表示される事が多いと思います。これだと直感的に表示されているエラーメッセージが、どの項目に対するものか分かりづらくと言う問題がありま…

EzJDBCの更新系メソッドに以下の一括更新機能!

Entityを利用しないで、条件にあったデータを一括更新したい場合もあるかと思います。EzJDBCではタイプセーフに一括更新をする機能を持っています。 変更の場合は以下の様に記述 // 更新対象となるテーブル情報インスタンスを生成 _CUSTOMER CS = new _CUSTO…

災難

東西線の大遅延に巻き込まれて動けない><しかも、一度駅の外に出たら入れてもらえなくなった...orz

EzJDBCのパラメータマーカー(?)に値を埋め込む方法

EzJDBC#bindメソッドを呼び出せばok! // テーブル情報インスタンスを生成 CUSTOMER _CS = new CUSTOMER(); // IDを指定してCUSTOMERを取得する Customer customer = new EzJDBC().from(_CS).where(_CS.ID.eq(1)).bind().find(Customer.class); SQLインジェ…

EzJDBCで取得する列を限定する!

以下のエントリを見つけたので、EzJDBCの場合を書いてみる。。。 S2JDBCの流れるインターフェースで検索すると、すべてのカラムが取得されます。嫌ならsqlファイルに書けばいいじゃん。って話ですが、せっかくのタイプセーフな検索が意味なし! 悩んだ末、la…

しみじみと…

「長崎ITキャンプ2009」というものがあったらしい。 イベントの内容を拝見して「本当にすばらしいなぁ」と、しみじみ思った。。。 長崎ITキャンプ2009 - よねのはてな 長崎ITキャンプ2009 サブタイトル→伊王島の楽しいひととき - yummy-yummy 「長崎ITキャン…