Javaオブジェクトに対してSQLを実行 - JoSQL 0.9公開

 

JoSQLプロジェクトは5日(現地時間)、Javaプログラム用の一風変わったSQLライブラリであるJoSQL(Java Objects SQL)バージョン0.9を公開した。SQLのクエリーといえば、通常はデータベースに対して発行するものである。しかしJoSQLの場合、データベースではなくJavaオブジェクトに対してSQLクエリーの発行を行う機能を提供する。

JoSQLを利用すれば、Javaプログラムでコレクション・オブジェクトに対してSQLを実行し、要素の検索などを行えるようになる。SQLクエリーはListオブジェクトに対して発行でき、結果はQuetyResultというオブジェクトで返される。例えばリスト1のような具合だ。

リスト1

List<Member> list = new ArrayList<Member>();
list.add(new Member("Sugiyama", "male", 35));
list.add(new Member("Sasaki", "female", 25));
list.add(new Member("Goto", "male", 30));

Query query = new Query();
String sql =
   "SELECT * FROM " + Member.class.getName() + " WHERE age BETWEEN 30 AND 40";
query.parse(sql);
        
QueryResults results = query.execute(list);
List<Member> resultList = results.getResults();
for (Member target : resultList) {
     System.out.println(target);
}

この例では、Listに格納されたデータに対してWHEREで条件付けをして検索を行っている。BETWEEN以外にもLIKEやHAVING、ORDER BY、GROUPE BY、LIMITなどをサポートしている。ただし、SQLが使えるとはいっても言語仕様を完全にサポートしているわけではないので注意が必要だ。

SQLの利点は、比較的簡単な構文でありながら非常に複雑な条件によるデータの抽出が行えることである。JoSQLは、その利点をコレクション・フレームワークに対して適用できるようにする。状況に応じて非常に便利な使い方のできるライブラリである。JoSQLはApache License v2.0のもとで公開されている。配布ファイルにはライブラリ本体の他にいくつかのサンプルプログラムも含まれているので、有効な利用方法を探してみるといいだろう。



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

イラッとされている後輩社員の特徴
[07:00 8/28] シゴト
外国人に母国のゴキブリ退治法を聞いた - 「ハンマーだと一撃で殺せます」
[07:00 8/28] ライフスタイル
ドラマ「逃げ恥」百合ちゃん役は石田ゆり子!風見は大谷亮平、沼田は古田新太
[06:00 8/28] ホビー
小島瑠璃子、ついにドラマ初挑戦!主演の柄本佑と“グルメ”で事件解決
[06:00 8/28] エンタメ
寺尾聰主演『仰げば尊し』すい臓がん、元問題児の留学…揺れる吹奏楽部の行方は
[06:00 8/28] エンタメ

求人情報