繁体   English   中英

Java Google App Engine数据存储区放置/获取

[英]Java Google App Engine Datastore put/get

推杆:

    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    try{
        Entity e =  new Entity("Winners", "NFL" ); 
        String winner_game = new String("winner_" + input_game );
        e.setProperty(winner_game, input_win_value );
        datastore.put(e);

....

获取:

    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    try{
        Entity e = datastore.get(KeyFactory.createKey("Winners",  "NFL" )); 
        String winner_game = new String("winner_" + i );
        if( e.getProperty(winner_game) != null )
        {
            Integer property = new Integer(e.getProperty( winner_game ).toString());
            return property;
        }
        else{
            return 0;
        }

...

e.getProperty返回null .....任何想法吗?

不要创建新的字符串/整数对象。 如果您需要在属性名称后添加一些内容,则只需直接进行操作即可。

Entity e = new Entity("Winners", "NFL" ); 
String winner_game = "winner_" + input_game; // Where input_game is "X"
e.setProperty(winner_game, input_win_value); // int input_win_value = 10;
datastore.put(e);

检索相同:

Entity e = datastore.get(KeyFactory.createKey("Winners",  "NFL" )); 
String winner_game = "winner_" + i; // where i is also "X"
if( e.getProperty(winner_game) != null ) {
   // Casting is ugly but does the trick
   Integer property = (Integer) e.getProperty(winner_game);
   return property;
} else{
   return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM