對於我分配的大學作業,我有一個包含文本,圖像或視頻內容的Prize對象。我想將這些信息保存到Apache Derby數據庫中的BLOB字段中(該數據庫將在低功耗的PDA上運行)。我怎樣才能將這些數據添加到數據庫?將Java對象添加到數據庫
在此先感謝。
對於我分配的大學作業,我有一個包含文本,圖像或視頻內容的Prize對象。我想將這些信息保存到Apache Derby數據庫中的BLOB字段中(該數據庫將在低功耗的PDA上運行)。我怎樣才能將這些數據添加到數據庫?將Java對象添加到數據庫
在此先感謝。
在這篇文章中Five Steps to Managing Unstructured Data with Derby 你可以閱讀如何做到這一點。
它描述瞭如何使用JDBC將二進制數據插入到具有Apache Derby中的BLOB數據類型的列中。
我假設你將通過JDBC進行連接。如果是這樣,只需編寫SQL並查看PreparedStatement的setBlob方法即可。應該很簡單。
如果您使用的是Netbeans(我認爲Eclipse具有類似的功能),您可以設置數據庫模式並從數據庫創建新的Java實體類,它將爲您生成相應的JPA類。
http://hendrosteven.wordpress.com/2008/03/06/simple-jpa-application-with-netbeans/
這是很好的,因爲它可以讓你專注於你的代碼,而不是數據庫的膠水代碼。
Serialization是最簡單的方式做到這一點,但如果可能的話,你可以使它看起來像一個真正的數據庫表包含id (bigint)
,datatype (smallint)
,creationdate (date)
和data (blob)
,特別使客戶端代碼保存對象的數據存在的結構。通過這種方式,您可以執行像"get all video prizes created between January 1st 2008 and January 15th 2009"
這樣的搜索,並且如果您的課程因序列化停止工作而改變太多,它不會分解舊數據。
如果需要的話,這種解決方案在未來也很容易擴展;我知道這是一項學校任務,而且這種需求很可能永遠不會出現,但如果你的老師/教授知道他的東西,我敢打賭,他願意以這種方式給予額外的一兩點這樣的練習,因爲它需要一點點更多時間,並表明您可以採取措施提前準備應對軟件開發的不斷變化。
最好的解決方案是使用Derby,因爲它一直是通過Java開發的多平臺應用程序。