JoSQL - JavaオブジェクトをSQL操作します。
2008/01/20
2008/01/20
![](https://resources.blogblog.com/img/icon18_edit_allbkg.gif)
おもしろそうなので試してみました。使い方がわからないので、適当につくってみました。実用的ではない、あまりおもしろみのないサンプルになってしまいました。
FROM区に指定するものがない場合は、nullで、Queryのexecuteにnullで渡せば動作するようです。
package josql;
import java.util.List;
import org.josql.Query;
import org.josql.QueryExecutionException;
import org.josql.QueryParseException;
public class A {
public A() {
}
public static void main(String[] args) throws QueryParseException,
QueryExecutionException {
final String s = "SELECT convert (12345), 12345, 1 + 1 FROM null";
Query q = new Query();
q.addFunctionHandler(new A());
q.parse(s);
List results = q.execute(null).getResults();
System.out.println(results);
}
public int convert(Number o) {
return o.intValue();
}
}
import java.util.List;
import org.josql.Query;
import org.josql.QueryExecutionException;
import org.josql.QueryParseException;
public class A {
public A() {
}
public static void main(String[] args) throws QueryParseException,
QueryExecutionException {
final String s = "SELECT convert (12345), 12345, 1 + 1 FROM null";
Query q = new Query();
q.addFunctionHandler(new A());
q.parse(s);
List results = q.execute(null).getResults();
System.out.println(results);
}
public int convert(Number o) {
return o.intValue();
}
}
実際にはどう使うのだろう?
どうも、必要なファイルの集合を作成するとかにさくっと使えそうな感じです。あとは、パーソンオブジェクトとかを大量に作成して、その中の属性で集合を作成したりとか...
.NETにはLINQという統合言語クエリなるものがあるらしい
.NET LINQ (Language Integrated Query : 統合言語クエリ) というそうです。
それで、Java版にはJLINQなるものがあるそうです。
- LINQ for Java (藤澤悠介のレバレッジライフ)
- あるSEのつぶやき: JLINQというJava版LINQがあるらしい
- LINQ for Java: Quaere
- IBM JLINQ: Java データベース・アプリケーション作成の… - Japan
駆け足でサイトをみたのですが、むむ、結構いけてる気がする。そもそも、この領域ってマイクロソフトのほうが先行しているのかしら。
たしかにオブジェクトを集合の操作で扱えると便利かも。
たしかにオブジェクトを集合の操作で扱えると便利かもしれませんね。
とまえまえから思ってたのですが、LINQなるものがあるとは!!
結論
JoSQL的アプローチはおもしろいかも。
: