データストアのCRUD (6/6)
作成:2010-05-03 19:28
更新:2010-05-10 17:26
更新:2010-05-10 17:26
■データストアのオブジェクト削除処理
では、削除を行うDelLinkDataServletクラスのソースコードを下に掲載しましょう。ここでは、POSTされたIDの値を取得し、これをもとにオブジェクトの削除をしています。削除は、
1.getObjectByIdで削除するオブジェクトを取得する。
2.PersistenceManagerの「deletePersistent」を呼び出し、オブジェクトを削除する。
このような手順で行います。deletePersistentは、引数に指定したオブジェクトをデータストアから削除する働きをするものです。そして、例によって最後にcloseを呼び出せばすべて完了です。
――ざっとCRUDの基本について説明をしてきましたが、データの更新や削除など「getObjectById」でオブジェクトを取得し操作する、というのが基本となっていることがよくわかります。getObjectByIdは「操作する対象のオブジェクトを取り出す」という場合、たいていのケースで用いられる重要なメソッドなのです。
さて、これでもっとも基本となる操作はできるようになりました。もちろん、もっと細かな検索処理とか、複数のクラスを連携処理するとか、覚えるべきことはいろいろありますが、とりあえずこれで簡単なデータベースを使ったアプリケーションは作れるようになったはずです。実際に簡単なサンプルを作って試してみましょう。慣れれば、データストアの操作もそう難しいものではないことがわかるはずです。
1.getObjectByIdで削除するオブジェクトを取得する。
2.PersistenceManagerの「deletePersistent」を呼び出し、オブジェクトを削除する。
このような手順で行います。deletePersistentは、引数に指定したオブジェクトをデータストアから削除する働きをするものです。そして、例によって最後にcloseを呼び出せばすべて完了です。
――ざっとCRUDの基本について説明をしてきましたが、データの更新や削除など「getObjectById」でオブジェクトを取得し操作する、というのが基本となっていることがよくわかります。getObjectByIdは「操作する対象のオブジェクトを取り出す」という場合、たいていのケースで用いられる重要なメソッドなのです。
さて、これでもっとも基本となる操作はできるようになりました。もちろん、もっと細かな検索処理とか、複数のクラスを連携処理するとか、覚えるべきことはいろいろありますが、とりあえずこれで簡単なデータベースを使ったアプリケーションは作れるようになったはずです。実際に簡単なサンプルを作って試してみましょう。慣れれば、データストアの操作もそう難しいものではないことがわかるはずです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package jp.tuyano;
import java.io.IOException;
import javax.jdo.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
public class DelLinkDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/plain");
resp.getWriter().println("no url...");
}
@Override
protected void doPost(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
long id = Long.parseLong(req.getParameter("id"));
PersistenceManagerFactory factory = PMF.get();
PersistenceManager manager = factory.getPersistenceManager();
LinkData data = (LinkData)manager.getObjectById(LinkData.class,id);
manager.deletePersistent(data);
manager.close();
resp.sendRedirect("/index.html");
}
}
※関連コンテンツ
「Google App Engine for Java(GAE/J)プログラミング入門」に戻る