WEB开发网
开发学院软件开发Java Google App Engine for Java,第 3 部分: 持久性和... 阅读

Google App Engine for Java,第 3 部分: 持久性和关系

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示: App Engine for Java 中的 Java Data Objects把传统的 Java 应用程序移植到 App Engine for Java 中,甚至是给出关系挑战,Google App Engine for Java,第 3 部分: 持久性和关系(4),这些可能都没有什么意义,然

App Engine for Java 中的 Java Data Objects

把传统的 Java 应用程序移植到 App Engine for Java 中,甚至是给出关系挑战,这些可能都没有什么意义,然而,持久性场景还是存在的,这时使用这个平台就有意义了。我将使用一个可行的示例来结束本文,您将体验 App Engine for Java 持久性是如何工作的。我们将以 第 2 部分 中建立的联系人管理应用程序为基础,介绍如何添加支持,以使用 App Engine for Java 数据存储工具持久化 Contact

对象。

在前面的文章中,您创建了一个简单的 GWT GUI,对 Contact

对象进行 CRUD 操作。您定义了简单的接口,如清单 1 所示:

清单 1. 简单的 ContactDAO 接口

   
package gaej.example.contact.server; 
 
import java.util.List; 
 
import gaej.example.contact.client.Contact; 
 
public interface ContactDAO { 
 void addContact(Contact contact); 
 void removeContact(Contact contact); 
 void updateContact(Contact contact); 
 List<Contact> listContacts(); 
} 
 

接下来,创建一个模拟版本,与内存集合中的数据进行交互,如清单 2 所示:

清单 2. 模拟 DAO 的 ContactDAOMock

   
package gaej.example.contact.server; 
 
import gaej.example.contact.client.Contact; 
 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.LinkedHashMap; 
import java.util.List; 
import java.util.Map; 
 
public class ContactDAOMock implements ContactDAO { 
 
 Map<String, Contact> map = new LinkedHashMap<String, Contact>(); 
 
 { 
 map.put("rhightower@mammatus.com", new Contact("Rick Hightower", 
                 "rhightower@mammatus.com", "520-555-1212")); 
 map.put("scott@mammatus.com", new Contact("Scott Fauerbach", 
                 "scott@mammatus.com", "520-555-1213")); 
 map.put("bob@mammatus.com", new Contact("Bob Dean", 
                 "bob@mammatus.com", "520-555-1214")); 
 
 } 
 
 public void addContact(Contact contact) { 
 String email = contact.getEmail(); 
 map.put(email, contact); 
 } 
 
 public List<Contact> listContacts() { 
 return Collections.unmodifiableList(new ArrayList<Contact>(map.values())); 
 } 
 
 public void removeContact(Contact contact) { 
 map.remove(contact.getEmail()); 
 } 
 
 public void updateContact(Contact contact) {  
 map.put(contact.getEmail(), contact); 
 } 
 
} 
 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Google App Engine

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接