允許supose我定義一個類Java。序列化的陣列
public class PointFloat {
float x;
float y;
}
然後我實例的陣列
PointFloat[] points = new PointFloat[10];
此時我具有10個PointFloat對象陣列。讓我們假設一些代碼爲每個點浮點賦值x和y。 我需要的是將數組存儲在Mysql數據庫的VARBINARY中。
爲了實現這一點,我需要將這個PointFloats數組轉換爲byte [],以便我可以使用PreparedStatement將數據插入數據庫 對於我來說,使用PreparedStatement並不是新事物,而是第一次使用對象序列化。
你如何轉換成任何大小的PointFloat陣列來一個byte []? 請保持儘可能簡單。
非常感謝您的閱讀。
這是絕對必要的嗎?將分數存儲在自己的表中顯然會更好... –
好吧。這是第一個想法。但是這需要額外的查詢。想象一下,選擇1000個記錄每個人的點數。然後迭代這些記錄以從DB中選擇點。是。有可能的。但是如果你可以存儲記錄本身的點更有效率。 – mdev
我不同意。如果他們在數據庫中,您可以查詢所需的點。您可以刪除_individual_ points並添加_individual_ points。如果你把全部內容都拼湊成一個龐大的'BLOB',那麼編輯的唯一方法就是加載**全部**。如果你可以改變數據庫模式,那每次都是一個勝利。 –