[转]GAE Java中用SQL操作Datastore

作者: ldsea 分类: 程序生活 发布时间: 2010-04-01 23:57

GAE支持Java对很多java开发者来说是一个非常令人兴奋的消息。做应用存储是少不了的,Google给的答案是Datastore。它和我们以往使用的关系型数据库有很大不同,你不需要创建表,可以直接进行添加、修改、删除等操作。Google说datastore是分布式的,可以提供很好的伸缩性,易于扩展。

  

Google的datastore对java的api有三种:JDO、JPA、LowApi,JDO和JPA是建立在LowApi之上的。这api功能比较有限,我们不能像使用关系型数据库一样用SQL操作datastore中的内容。

  

HGSQL是一个虚拟数据库引擎,它提供了强大的SQL处理能力。它针对Google Datastore发布了一个接口API,该API也是建立在LowApi之上。http://hgsql4gae.appspot.com/是该API的演示,你可以在上面输入SQL语句进行操作里面存储的数据。

  

1、插入测试数据

  

  

    

insert into 员工 (编号, 姓名, 职位, 上级, 出生日期, 工资, 奖金, 部门) values ('0001', '王东', '职员', '0013', '1980-02-05', '800', '0', '20');

  

  
  

2、执行一个简单查询
  

select * from 员工 order by 编号

3、执行一个比较复杂查询

  

select *from (select *from (select 编号,姓名, 部门, 职位, 工资from 员工union allselect '', '', 部门, 职位, sum(工资)from 员工group by rollup(部门, 职位)))order by nvl(部门, char(65535)),nvl(职位, char(65535))

4、删除数据

  

delete from 员工

HGSQL forGoogle Datastore的使用非常简单,首先从http://hgsql4gae.appspot.com/中下载接口程序包hggds.jar,然后加入到你的GAE项目中,调用类com.hg.gds.HgGds中的query和execute方法就可以了。语法参考:http://www.hgsql.com/down/SQL参考手册.pdf

发表回复

您的电子邮箱地址不会被公开。