如何在 Google AppEngine 上使用 JDBC

Posted

技术标签:

【中文标题】如何在 Google AppEngine 上使用 JDBC【英文标题】:How to use JDBC on Google AppEngine 【发布时间】:2012-06-13 06:54:10 【问题描述】:

我有一个使用 JDBC 来操作其数据的应用程序。 我正在寻找一种在 Appengine 上运行应用程序的方法。不幸的是,似乎除了数据存储(我无法习惯)之外没有太多选择。

我尝试使用嵌入式 JavaDB,但 Appengine 阻止了 FileOutputStream(在初始驱动程序加载时引发异常“java.io.FileOutputStream 是受限类”)。因此,我没有尝试过 Sqlite。

我还尝试使用 Jiql,这是一个为 Datastore 提供 JDBC 接口的新项目。但是,我似乎无法建立“连接”。尽管他们网站上的示例很少,但我有点不清楚如何使用 jiql(例如:您提供什么用户/通行证?)。

我查看了 Google Cloud SQL 并最终注册了它。这似乎是我们问题的完美解决方案,直到我意识到这是一项付费服务​​(一旦离开测试阶段,它将很快支付)。我不想(还)不付款,因为我仍在测试和评估 GAE 的潜力。

--

您会推荐什么,记住希望将 JDBC 用于应用程序的持久层?

提前致谢!

【问题讨论】:

【参考方案1】:

GAE 支持两种持久性框架,JPA 和 JDO。很少有框架可以很好地与 Objectify 这样的 GAE 规则配合使用。但要从数据存储开始,您也可以在 google 教程 GAE DATASTORE 上学习。如果需要了解与 JPA 的关系以及对 JDBC 持久化的支持,请查看Link

【讨论】:

哦,原来GAE支持JPA/JDO!那时我可能会采取这种方法。目前我正在 JDBC 和 Datastore 之上开发自己的层...感谢您的链接,那里有一些有用的信息。

以上是关于如何在 Google AppEngine 上使用 JDBC的主要内容,如果未能解决你的问题,请参考以下文章

如何使全局变量在多个 google appengine 实例上保持不变?

使用 Google AppEngine 创建 Java Web 服务

如何在 google appengine 上为 node.js 运行 nightmare.js

如何在 Google AppEngine 上实现“实时”消息传递?

在google appengine上部署ruby + sinatra应用程序

Appengine 上 google Go 与 Python 和 Java 的资源使用情况