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年後は? あなたの年収をデータに基づき予報します。

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

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

人気記事

一覧

イチオシ記事

新着記事

[おジャ魔女どれみ]歴代ポロン6種類が復刻 ハッピー!ラッキー!
[18:22 7/31] ホビー
横須賀に『艦これ』公式飲食施設「酒保伊良湖」オープン - 昼はカフェ、夜は居酒屋で提督諸氏をお出迎え
[18:00 7/31] ホビー
[映画「少女」]本田翼&山本美月が女子高生役で新境地 三島有紀子監督に聞く
[17:30 7/31] エンタメ
ヤクザの娘でドSな少女と犬獣人のコメディ「お嬢と七匹の犬」1巻
[17:15 7/31] ホビー
[AAA宇野実彩子]シースルートップス&赤ミニスカで登場 最新写真集で“体鍛えた”
[17:09 7/31] エンタメ

求人情報