簡體   English   中英

在不使用PersistantManager的情況下從GAE DataStore中的實體獲取特定值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM