【SQL】joSQL【java】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
なんか面白そうなので、スレ立てます。
SQLでコレクションをいじれるというのがなんの役に立つかは
まだ不明ですが。。。

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

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

NetBeansのロゴがオレンジ色っぽい最新版では
これが標準でついていたんだったかな?
4デフォルトの名無しさん: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
5デフォルトの名無しさん:2005/11/25(金) 00:47:35
引数も取るメソッドは記述出来ないのだろうか?
あと、この
SELECT java.lang.String from java.lang.Objectと記述して
ListからStringのオブジェクトのみを取得できたら良かったんだが。
6デフォルトの名無しさん:2005/11/25(金) 00:58:05
これEclipseのプラグインないかな?
7デフォルトの名無しさん:2005/11/25(金) 01:40:45
例えばどんなプラグイン?
基本的にSQL構文でコレクションからオブジェクトを抽出する機能しかない
みたいだからね〜。個人的にはJOINとか出来るようになったら動的にメンバを
マージしたGETTER、SETTER付のオブジェクトの生成をサポートしてくれないかな。
8デフォルトの名無しさん:2005/11/25(金) 02:41:18
Listに詰め込まれたMapを取得するなら
"SELECT * FROM java.util.Map where keySet='[keyName]'"
これでOKなわけだ。

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

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

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

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

このツール、Javaの利点を生かしたツールといえるのが凄い。
18デフォルトの名無しさん:2005/11/27(日) 06:45:28
>>17
でもclassでまともなデータ構造を設計していればjoSQLを使用する
必要なくない?もし必要とすればぐちゃぐちゃのデータ構造をなんとか
しなければならなくなった時で、始めからこれを使用するというのは
どうなんだろう?
19デフォルトの名無しさん:2005/11/27(日) 14:11:51
>>18
独自Collectionを自作して、データアクセスのメソッドを
整備すると言うことかな? だとすると、JoSQLの存在意義は、
汎用CollectionにSQL文でアクセスできる辺りだと思う。

あと、Collectionでスケール的に厳しくなったら、
適当なRDBに差し替えることもできる。現時点では、
Java単体でギガ単位のデータを扱うのは現実的でない。
20デフォルトの名無しさん:2005/11/27(日) 16:02:02
最大の用途は開発/テスト用ではないか? テスト環境の構築やテストデータの準備を開発者毎にやってると工数馬鹿にならんけど、これだとJavaだけで一応環境が完結するので、「比較的」楽になるような気が。
21デフォルトの名無しさん:2005/11/27(日) 19:31:47
>>18
スレッドを沢山扱うプログラムではかなり重宝するかも。

ServletやDBなんかとくに。
22デフォルトの名無しさん:2005/11/29(火) 13:56:55
23デフォルトの名無しさん:2005/12/01(木) 09:39:21
24デフォルトの名無しさん:2005/12/07(水) 05:36:36
25デフォルトの名無しさん:2005/12/24(土) 21:37:04
寂しいな。。。
26デフォルトの名無しさん:2005/12/25(日) 01:26:57
面白そうだけど用途がいまいち不明じゃね?
27デフォルトの名無しさん:2005/12/25(日) 06:21:41
WMIみたいなもんだな
28デフォルトの名無しさん:2005/12/28(水) 01:26:18
用途はデバッグやプロファイリング、メトリクス、
テストじゃね?
29デフォルトの名無しさん:2006/01/28(土) 22:32:28
30デフォルトの名無しさん:2006/01/29(日) 02:29:33
今まで無かったのは
なんのことはない使い道がないからだ
31デフォルトの名無しさん:2006/01/29(日) 12:14:57
いまさらだが
>>4
(:'A')
ワロス
32デフォルトの名無しさん:2006/03/14(火) 00:40:18
あげろあげろ
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
34デフォルトの名無しさん:2006/05/08(月) 02:54:23
落ちすぎです
35デフォルトの名無しさん:2006/05/29(月) 01:17:07
1.4が出てるぞ
36デフォルトの名無しさん:2006/06/12(月) 11:01:20
発音はジョスキュルでいい?
37デフォルトの名無しさん:2006/06/30(金) 17:15:21
何の話題もないのか??
38デフォルトの名無しさん:2006/07/04(火) 20:58:22
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
3938:2006/07/17(月) 21:32:50
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
40デフォルトの名無しさん:2006/07/20(木) 02:35:57
教えてやっても良いが、JAVAの何を教えるんだ?
文法とか言うなよ・・・
41デフォルトの名無しさん:2006/07/21(金) 00:45:30
PCの使い方
Windowsの基本的な概念

がメインになる悪寒
42デフォルトの名無しさん:2006/07/21(金) 02:27:28
>>41
そっちのほうが難しいがな・・・
43デフォルトの名無しさん:2006/09/13(水) 00:34:40
これ、使い道がないなあ
44デフォルトの名無しさん:2006/09/16(土) 16:14:37
ageteyaruyo
45デフォルトの名無しさん:2006/10/26(木) 23:28:53
46デフォルトの名無しさん:2006/12/15(金) 13:25:38
1.4がでてます・・・
http://josql.sourceforge.net/
47デフォルトの名無しさん:2007/01/18(木) 14:00:01
INSERTもDELETEもUPDATEもできねぇ・・・
つかえねーなァ
48デフォルトの名無しさん:2007/01/18(木) 15:53:35
(゚Д゚)ハァ?
49デフォルトの名無しさん:2007/01/18(木) 19:24:25
だったらJavaDB使えよってレスは禁止?
50デフォルトの名無しさん:2007/01/18(木) 23:47:06
使えるべきだろーが
それが出来ないとCollectionにSELECTするだけのライブラリなんて
何の役に立つんだよ?
51デフォルトの名無しさん:2007/01/19(金) 00:43:07
じゃテメーが作れよカス
52デフォルトの名無しさん:2007/01/19(金) 07:49:19
条件反射で戯言抜かすなカスが
53デフォルトの名無しさん:2007/02/13(火) 00:18:52
>>47
そんなことして一体どうする気だ?
カプセル化の破壊か?
privateになってるものをぶっ壊す気か?
あ、リフレクションで叩きつぶすってわけか。

つまりやりたいことは、ハックか?

54デフォルトの名無しさん:2007/02/13(火) 00:20:25
つうか、SELECTしたもんを
表としてjoSQL外部に取り出すかMySQLなど
他のSQLにコンバートしてそこでINSERTやDELETEやUPDATE
すればいいんじゃないか?
55デフォルトの名無しさん:2007/02/14(水) 23:31:59
>>54
手間がかかるわ
そこまでするならjoSQLははなから必要ない
56デフォルトの名無しさん:2007/04/23(月) 01:52:24
 
57デフォルトの名無しさん:2007/05/03(木) 06:11:11
条件にwhere句が使いたいだけのときに最強なんじゃね?
58デフォルトの名無しさん
List<Hoge> result = db.exec("SELECT * FROM hogetable")
みたいなときに
result が ArrayList<Hoge> で返ってくるようなモジュールありますか?