トップページ⇒tech
58コメント12KB

【SQL】joSQL【java】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/11/24(木) 23:31:53
なんか面白そうなので、スレ立てます。
SQLでコレクションをいじれるというのがなんの役に立つかは
まだ不明ですが。。。

http://pcweb.mycom.co.jp/news/2005/11/18/020.html
0002デフォルトの名無しさん2005/11/24(木) 23:32:36
本家
http://josql.sourceforge.net/
0003デフォルトの名無しさん2005/11/24(木) 23:57:37
お、ついにこのスレがたったか。
JavaOne Tokyo 2005のとあるセッションでも

これが紹介されていたな。

NetBeansのロゴがオレンジ色っぽい最新版では
これが標準でついていたんだったかな?
0004デフォルトの名無しさん2005/11/25(金) 00:19:12
なかなか制限が多いね〜〜。
例えばこんなことが出来ない。

Map map = new HashMap();
map.put("A","B");
List list = new ArrayList();
list.add(map);
q.parse ("SELECT * FROM java.util.Map where get(:'A')='B'");
org.josql.QueryParseException: Unable to find function (method): "get(java.lang.String)" in any user-defined function handlers or the default function handler
0005デフォルトの名無しさん2005/11/25(金) 00:47:35
引数も取るメソッドは記述出来ないのだろうか?
あと、この
SELECT java.lang.String from java.lang.Objectと記述して
ListからStringのオブジェクトのみを取得できたら良かったんだが。
0006デフォルトの名無しさん2005/11/25(金) 00:58:05
これEclipseのプラグインないかな?
0007デフォルトの名無しさん2005/11/25(金) 01:40:45
例えばどんなプラグイン?
基本的にSQL構文でコレクションからオブジェクトを抽出する機能しかない
みたいだからね〜。個人的にはJOINとか出来るようになったら動的にメンバを
マージしたGETTER、SETTER付のオブジェクトの生成をサポートしてくれないかな。
0008デフォルトの名無しさん2005/11/25(金) 02:41:18
Listに詰め込まれたMapを取得するなら
"SELECT * FROM java.util.Map where keySet='[keyName]'"
これでOKなわけだ。

ひょっとして引数付のメソッドを記述方法あるのだろうか?
なんかありそうな気がしてきたな。
0009デフォルトの名無しさん2005/11/25(金) 03:09:31
>>8のSQLは
10万件に対して900ms強かかる。
。。。ちょっと遅いか?
0010デフォルトの名無しさん2005/11/25(金) 03:20:32
1件から100件までは200ms強かかることから、SQL解析からオブジェクト取得
までの最小時間はこれくらいかかるということか。
0011デフォルトの名無しさん2005/11/25(金) 04:10:46
これって作ったプログラムをデバッグしながらやるもので
ソースコードに対して行えるものじゃない?
0012デフォルトの名無しさん2005/11/26(土) 09:45:58
SQL なんていう糞を持ち込むなよ…
0013デフォルトの名無しさん2005/11/27(日) 01:07:24
面白そうだけど用途がいまいち不明じゃね?
0014デフォルトの名無しさん2005/11/27(日) 01:22:55
SELECT length,toString FROM jaba.lang.String WHERE toString="ABC"
これで、メンバだけ抽出することが可能。
0015デフォルトの名無しさん2005/11/27(日) 01:46:27
ある程度SQL文に馴染んだ人なら、検索&ソートが一行で
書けて重宝すると思う。その代わり、そうでない人には
理解困難なソースになるので、諸刃の剣。

少し癖があるAPIなので、適当にWrapして使ってる。
0016デフォルトの名無しさん2005/11/27(日) 01:55:39
>>12は糞だからなんでもかんでも糞に見えるんです
0017デフォルトの名無しさん2005/11/27(日) 01:58:44
>>15
SQLが重宝するってのは
本当に、何万、何十万件のデータを扱うときがあるからだ。

で、Javaの場合、膨大なクラスを作ることができる。
そして一つのクラスに対して膨大なオブジェクトを
作ることもできる。
だからそんなとき、このjoSQLは重宝する。

COBOLerみたいな一つのクラスに何万行もの
コードを埋め込んでしまうのではこのjoSQLも真価を発揮しないだろう。
C++厨みたいなクラスを作らなくてもいい症候群に
陥ってクラスを作ることを怠っている者にも、
このjoSQLも真価を発揮しないだろう。

このツール、Javaの利点を生かしたツールといえるのが凄い。
■ このスレッドは過去ログ倉庫に格納されています