论坛首页 Java企业应用论坛

nutz on gae 系列: 1.1 gae数据存储

浏览 3402 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-01-21   最后修改:2011-01-26

好几天前 我试着把nutz在gae上运行,运行很正常,这下子在gae上开发一些应用就会更加简单高效了。

 

今天在看gae 数据存储部分,正打算把 这部分写成 nutz.dao的实现类,这样就能方便的移植某些应用了 呵呵。

简单的做了一个小例子,争取尽快把 数据存储这部分弄明白,下面记录自己的心得:

 

JDOHelper.getPersistenceManagerFactory("transactions-optional");
这里 的 transactions-optional 应该是控制 pmf 初始化的一个关键参数,
不写会报错。
详细整理这里的参数

   @PersistenceCapable(identityType = IdentityType.APPLICATION)

   应该是控制表的 生存周期的

   整理不同IdentityType的含义

 

    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)

    这个表示不同的主键类型

 

 还需要考虑  pm的缓存池和 声明式 事务控制

 

下面再记录一下 nutz的用法

 @Modules(scanPackage=true)   scanPackage 在主模块上 ,true表示扫描包含子包的所有类

 

 

@Ok("redirect:/")      redirect 表示重定向

@Param("::user.") ::user. 表示 一个 以user. 开始的表单属性  可以理解为  actionform 中的  user对象

@Param("..")    ..  表示所有的request属性 ,可以理解为  actionform

 

还需要 考虑  jsp的一些常用标签 ,使用jstl ,还是自定义 ,还是 freemarker

 

暂时只实现 数据库的 增删改 查byid, all,page 等,还有 delete,和update 批量处理

暂不实现 事务管理,实现 nutz.dao中的 几个简单的查询 即可,其他的留待以后完善,包括添加声明式事务管理

 

<?xml version="1.0" encoding="utf-8"?>
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">

    <persistence-manager-factory name="transactions-optional">
        <property name="javax.jdo.PersistenceManagerFactoryClass"
            value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/>
        <property name="javax.jdo.option.ConnectionURL" value="appengine"/>
        <property name="javax.jdo.option.NontransactionalRead" value="true"/>
        <property name="javax.jdo.option.NontransactionalWrite" value="true"/>
        <property name="javax.jdo.option.RetainValues" value="true"/>
        <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/>
    </persistence-manager-factory>
</jdoconfig>
 JDOHelper.getPersistenceManagerFactory("transactions-optional");
代码中的transaction-optional对应着 上面配置文件中 pmf 节点。
可以理解为 不同的数据库?  开发库和 部署库。 我感觉是可以的 呵呵。还应该看看 jdo的文档掌握配置文件的属性。
   发表时间:2011-05-02  
加油!!!
0 请登录后投票
   发表时间:2011-05-02  
wendal 写道
加油!!!

这个计划暂时搁浅,我已经3个月上不去gae的网站了,天朝greate wall太墙了
0 请登录后投票
   发表时间:2011-05-03  
新版的 Dao 支持 JPA 应该更加容易,在 GAE 上估计也会比较好整合的
0 请登录后投票
   发表时间:2011-05-03  
太幸福了,两个老大给我回帖了。我一定要继续做下去 
0 请登录后投票
   发表时间:2011-05-05  
恩,我很看好你哟
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics