将Java对象添加到数据库


3

对于我分配的大学作业,我有一个包含文本,图像或视频内容的Prize对象。我想将这些信息保存到Apache Derby数据库中的BLOB字段中(该数据库将在低功耗的PDA上运行)。我怎样才能将这些数据添加到数据库?

在此先感谢。

6

在这篇文章中Five Steps to Managing Unstructured Data with Derby 你可以阅读如何做到这一点。

它描述了如何使用JDBC将二进制数据插入到具有Apache Derby中的BLOB数据类型的列中。


3

我假设你将通过JDBC进行连接。如果是这样,只需编写SQL并查看PreparedStatement的setBlob方法即可。应该很简单。


1

如果您使用的是Netbeans(我认为Eclipse具有类似的功能),您可以设置数据库模式并从数据库创建新的Java实体类,它将为您生成相应的JPA类。

http://hendrosteven.wordpress.com/2008/03/06/simple-jpa-application-with-netbeans/

这是很好的,因为它可以让你专注于你的代码,而不是数据库的胶水代码。


2

Serialization是最简单的方式做到这一点,但如果可能的话,你可以使它看起来像一个真正的数据库表包含id (bigint)datatype (smallint)creationdate (date)data (blob),特别使客户端代码保存对象的数据存在的结构。通过这种方式,您可以执行像"get all video prizes created between January 1st 2008 and January 15th 2009"这样的搜索,并且如果您的课程因序列化停止工作而改变太多,它不会分解旧数据。

如果需要的话,这种解决方案在未来也很容易扩展;我知道这是一项学校任务,而且这种需求很可能永远不会出现,但如果你的老师/教授知道他的东西,我敢打赌,他愿意以这种方式给予额外的一两点这样的练习,因为它需要一点点更多时间,并表明您可以采取措施提前准备应对软件开发的不断变化。


0

最好的解决方案是使用Derby,因为它一直是通过Java开发的多平台应用程序。