2009年5月23日土曜日

Google App EngineでJDOを使う

Google App EngineでJDOを使ってみる。
http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/usingdatastore.html

GoogleAppEngineにおいて、データを保存するための方法の一つなんだと思う。
これも、JDOについて知らなくてもきちんと読めるようにドキュメントは配慮されている。

自分もまったく知らないで読んでみたんだけども、とりあえず、下記のような
ことがわかった。
・とりあえず、クラスを作り、それを保存する仕組み
  (ソースコード上に@Persistentなんかを書くことにより、あとは、このフレームワークが
   勝手にやってくれている)

というような感じで理解できた。

ここでは、大まかには、下記の手順で作成していくことになる。
1.jdoconfig.xml の設定(eclipseで作った場合には、勝手に設定してくれている)
2.保存するデータのGreetingクラスを作成。
3.PMFクラスの作成(javax.jdo.PersistenceManagerFactoryを呼び出すsingletonラッパー)
4.でこれらを利用して、ゲストブックで入力された内容を保存するクラス
   SignGuestbookServlet.javaを作成。

実際の保存するロジックはこんな感じのようです。

Greeting greeting = new Greeting(user, content, date);
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
pm.makePersistent(greeting);
} finally {
pm.close();
}


で読み出すに相当する部分が下記あたり


//クエリの部分
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Greeting.class.getName();
List greetings = (List) pm.newQuery(query).execute();

//データを取り出しの部分
for (Greeting g : greetings) {
       g.getAuthor().getNickname()
       g.getContent()


あとは、このQueryがどんな感じのことができるのかというのをいろいろ試してみたい。
まずは、次は、ここら辺を呼んでいくことにしたいと思う。
Queries and Indexes.

とりあえず、ここら辺までで、簡単なデータの保存と取出しまでは出来るようになった。

0 件のコメント: