对于大学作业我被分配了我有一个奖品对象,其中包含文字,图片或视频内容。我想将此信息保存到Apache Derby数据库(将在低功耗PDA上运行)中的BLOB字段中。如何将此数据添加到数据库?
提前致谢。
答案 0 :(得分:6)
在本文中Five Steps to Managing Unstructured Data with Derby 你可以阅读如何做到这一点。
它描述了如何使用JDBC在Apache Derby中使用BLOB数据类型将二进制数据插入到列中。
答案 1 :(得分:3)
我假设您将通过JDBC进行连接。如果是这样,只需编写SQL并查看PreparedStatement的setBlob方法。应该非常简单。
答案 2 :(得分:2)
Serialization是一种简单的方法,但是如果可能的话,你可以使它看起来像一个真正的数据库表,其结构包含id (bigint)
,datatype (smallint)
,creationdate (date)
和data (blob)
并专门使客户端代码在那里保存对象的数据。通过这种方式,您可以执行"get all video prizes created between January 1st 2008 and January 15th 2009"
之类的搜索,如果您的类会因序列化停止工作而发生太大变化,则不会分解旧数据。
如果需要,这种解决方案在未来也很容易扩展;我知道这是一项学校作业,这种需求很可能永远不会浮出水面,但如果你的老师/教授知道他的东西,我敢打赌他愿意以这种方式给这一练习增加一两点,因为它需要一点点更多时间,并表明您可以采取措施提前准备应对不断变化的软件开发环境。
答案 3 :(得分:1)
如果您正在使用Netbeans(我假设Eclipse具有类似的功能),您可以设置数据库模式并从数据库创建新的Java实体类,它将为您生成相应的JPA类。
http://hendrosteven.wordpress.com/2008/03/06/simple-jpa-application-with-netbeans/
这很好,因为它允许您专注于您的代码而不是数据库粘合代码。
答案 4 :(得分:0)
最好的解决方案是使用Derby,因为它一直是通过Java开发的多平台应用程序。