[英]Fetching particular value from entity in GAE DataStore without PersistantManager
我正在嘗試注冊用戶,並允許他使用userName和Password登錄。 我的dataStore實體“賽車手”包含名稱,用戶名,密碼,年齡,BikeModel,城市。 密鑰由應用程序生成。
我想驗證用戶。 我使用帶有addFilter()的查詢來獲取特定用戶的全部詳細信息。 我對從dataStore中的實體獲取特定用戶的特定屬性感到驚訝,例如,從“ Racer”獲得特定用戶的密碼和用戶名。
在網絡上,無論我得到哪個示例,它都在使用PersistentManager。 我不想使用它。 除了“篩選和排序”外,我沒有找到任何查詢來獲取詳細信息。 請建議我如何進行。
Servlet:
public class StoreInDataStore extends HttpServlet {
@SuppressWarnings("deprecation")
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
//Getting SignUp form values
String name=req.getParameter("name1");
String uname=req.getParameter("uname1");
String pswd=req.getParameter("pswd1");
String age=req.getParameter("age");
String city=req.getParameter("city");
String bike=req.getParameter("bike");
//Getting login form values
String lname=req.getParameter("name");
String lpswd=req.getParameter("pswd");
//Creating dataStore
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
//Creating entity
Entity e=new Entity("Racer");
//Entering details in racer
e.setProperty("Name", name);
e.setProperty("UserName", uname);
e.setProperty("Password", pswd);
e.setProperty("Age", age);
e.setProperty("City", city);
e.setProperty("Bike Model", bike);
//Storing in DataStore
ds.put(e);
//Getting entire details
Query q=new Query("Racer");
q.setFilter(FilterOperator.EQUAL.of("UserName", uname));/* UserName takes only the currently entered value(uname). Doesnot fetch from dataStore */
PreparedQuery pq=ds.prepare(q);
List<Entity> result = ds.prepare(q).asList(FetchOptions.Builder.withDefaults());
System.out.println(result);
}
代替
List<Entity> result = ds.prepare(q).asList(FetchOptions.Builder.withDefaults());
采用
Entity result = ds.prepare(q).asSingleEntity();
String password = result.getProperty("Password");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.