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

好几天前 我试着把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的文档掌握配置文件的属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值