Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
GAE/J 開発環境でJDO入門
~5分で出来るとこまで編 for LT~




        bose.techie.jp
JDOってなんなんだよ><

vGAE/Jでアプリを作る時に提供されてるのは
 RDBではなくてBigTableってやつ。
 それをあれこれするAPIがJDOやJPAなんだ。
 § JDOやJPAは標準的なものだからね!
   GAE/J独自じ...
はいー どーん




開発環境
  の
 作り方
開発環境構築の参考URL




     画像自重

http://gihyo.jp/dev/column/01/java/2009/0415
 あたり読むといいと思うよ。自習してくれ!
こんなこと言われないように><




 はセリ自重
本題ですよー



 今日はJDOって
どうやって書くのを
 中心にささっと
  紹介します。
まずEntity

@PersistenceCapable(                                GAE/Jでは必須
   identityType = IdentityType.APPLICATION)       ...
んで Daoね その1

public class UserDao {

  public void insert(PersistenceManager pm, User user){
     pm.makePersistent(user);...
んで Daoね その2

    public User selectUserId(PersistenceManager pm, String userId){

        Query query = pm.newQuery(User.c...
じゃあ 使うよ

User user = new User();
                                                   エンティティの操作を
user.setUserId(quot;pekoquo...
はセリ自重
はーい 注目! ここでCMです!

WEB+DB PRESSに
グルージェント荒川大先生の
BigTable/JDOに
関する記事が掲載。
精読してね><
             はセリ自重
壮大な
前フリ終了
GAE/J 開発環境でJDO入門
Upcoming SlideShare
Loading in …5
×

GAE/J 開発環境でJDO入門

9,978 views

Published on

~5分で出来るとこまで編 for LT~

Published in: Technology
  • Be the first to comment

GAE/J 開発環境でJDO入門

  1. 1. GAE/J 開発環境でJDO入門 ~5分で出来るとこまで編 for LT~ bose.techie.jp
  2. 2. JDOってなんなんだよ>< vGAE/Jでアプリを作る時に提供されてるのは RDBではなくてBigTableってやつ。 それをあれこれするAPIがJDOやJPAなんだ。 § JDOやJPAは標準的なものだからね! GAE/J独自じゃないよ!
  3. 3. はいー どーん 開発環境 の 作り方
  4. 4. 開発環境構築の参考URL 画像自重 http://gihyo.jp/dev/column/01/java/2009/0415 あたり読むといいと思うよ。自習してくれ!
  5. 5. こんなこと言われないように>< はセリ自重
  6. 6. 本題ですよー 今日はJDOって どうやって書くのを 中心にささっと 紹介します。
  7. 7. まずEntity @PersistenceCapable( GAE/Jでは必須 identityType = IdentityType.APPLICATION) アプリで 主キー定義する public class User { という意味 @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent アプリケーションで private String userId; 値を自動生成 @Persistent private String password; あとげったー、せったーね。
  8. 8. んで Daoね その1 public class UserDao { public void insert(PersistenceManager pm, User user){ pm.makePersistent(user); } public void update(PersistenceManager pm, User user){ insert(pm, user); } public User selectKey(PersistenceManager pm, Key key){ return (User)pm.getObjectById(User.class, key); } public void delete(PersistenceManager pm, User user){ pm.deletePersistent(user); }
  9. 9. んで Daoね その2 public User selectUserId(PersistenceManager pm, String userId){ Query query = pm.newQuery(User.class); query.declareParameters(quot;java.lang.String userIdquot;); query.setRange(0, 10); try { List<User> users = (List<User>) query.execute(userId); If(users != null && users.size() > 0){ return users.get(0); } else { return null; } } finally { query.closeAll(); } } }
  10. 10. じゃあ 使うよ User user = new User(); エンティティの操作を user.setUserId(quot;pekoquot;); user.setPassword(quot;pokopen!quot;); 行う為のインタフェース PersistenceManager persistenceManager = PMFactory.getPersistenceManager(); Transaction transaction = persistenceManager.currentTransaction(); transaction.begin(); try { トランザクション開始 UserDao userDao = new UserDao(); userDao.insert(persistenceManager,user); データ永続化 user = userDao.selectUserId(persistenceManager,quot;pekoquot;); userDao.delete(persistenceManager,user); transaction.commit(); } catch (Exception e) { データ検索 e.printStackTrace(); } finally { if (transaction.isActive()){ データ削除 transaction.rollback(); } トランザクションコミット persistenceManager.close(); } トランザクションロールバック
  11. 11. はセリ自重
  12. 12. はーい 注目! ここでCMです! WEB+DB PRESSに グルージェント荒川大先生の BigTable/JDOに 関する記事が掲載。 精読してね>< はセリ自重
  13. 13. 壮大な 前フリ終了

×