[英]GAE datastore put and get
嗨,我只是在玩数据存储,并希望有人能告诉我为什么我的简单代码不起作用? 我一直在研究如何从数据存储中放置和获取字符串...不幸的是,我的GAE能力很弱,而我的Java能力却很弱...
@SuppressWarnings("serial")
public class LoopingProgramServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
Key key = KeyFactory.createKey("a","b");
String Teststring = "pleasework";
Entity greeting = new Entity("meh", key);
greeting.setProperty("teststring", Teststring);
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
datastore.put(greeting);
Entity greetings = null;
resp.setContentType("text/plain");
resp.getWriter().println("doing something");
try {
greetings = datastore.get(key);
String string = (String) greetings.getProperty("teststring");
if (string == null) {
resp.setContentType("text/plain");
resp.getWriter().println("null");
System.out.println("null");
} else {
resp.setContentType("text/plain");
resp.getWriter().println("contains something");
System.out.println("contains something");
}
resp.setContentType("text/plain");
resp.getWriter().println(string);
} catch (EntityNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
您正在使用的Entity
结构将Key
参数解释为父实体的键。 由于没有给出id或keyName(如果您改为使用此处描述的其他Entity
构造函数之一,则会发生这种情况),因此在put
时将为问候语生成一个id。
datastore.get(key)
返回null,因为key
指向类型为“ a”的实体,其keyName为“ b”,(我猜)这种实体不存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.