jdo直接操作sql

google推出支持java的gae也有好一段时间了,我准备做一个博客练练手。但是发现gae里操作数据库用的是jdo,jdo虽然是将rdbms转换成了orm但是总感觉有那么点不爽,像这样转换后使得我们只能对数据库做一些简单的操作,本来只需要对数据库进行一次的操作,往往被分割成了多次,消耗了性能不说还增加了页面的相应时间。所以我一直在想:如何能直接用sql语句对数据库进行操作呢?我查了一些jdo的api发现了一个可行方法:

PersistenceManager pm = pmf.getPersistenceManager();
Query q = pm.newQuery("javax.jdo.query.SQL", "EXECUTE sp_who");

 

Query q = pm.newQuery("javax.jdo.query.SQL", "UPDATE MY_TABLE SET MY_COLUMN = ? WHERE MY_ID = ?");

 

Query q = pm.newQuery("javax.jdo.query.SQL","SELECT col1, col2 FROM MYTABLE WHERE col3 = ? AND col4 = ? and col5 = ?");
List results = (List) q.execute(val1, val2, val3);

 

Query query = pm.newQuery("javax.jdo.query.SQL", "SELECT count(*) FROM MYTABLE");
List results = (List) query.execute();
Integer tableSize = (Integer) result.iterator().next();

详细内容查看: http://www.datanucleus.org/products/accessplatform_1_1/jdo/sql.html

不知道这些能不能直接在gae里用呢,但是gae里的bigtable都是根据pojo对象自动创建是的,那自动创建的表的名称有又叫什么呢?有没有哪位大牛实验过?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值