データストアの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)プログラミング入門」に戻る