SQLite和這裏Java初學者,創建從ResultSet中複雜對象
我目前工作的一個遊戲,玩家隨機獲得物品,因爲我計劃包括一個巨大的項目的數量,我已存儲的項目信息在SQLite數據庫。
事情是,我的項目對象除了像字符串名稱,詮釋權力等字段有自己的行爲對象。這使得轉換結果爲對象更復雜的努力。目前,我將這些行爲稱爲db中的Strings,然後在Item Creation中使用Switch語句實例化正確的行爲對象。這僅僅是一個半虛構的例子來說明我的意思:
Item item = new Item();
String name = resultSet.getString("Name");
String activationEffect = resultSet.getString("Activation Effect");
item.setName(name);
switch (activationEffect){
case "Smack Fools":
item.setActivationEffect(new SmackFools());
break;
case "Have a Nap":
item.setActivationEffect(new NapTime());
break;
default:
break;
我也可以做item.setActivationEffect採用String,做switch語句本身,但並沒有真正改變任何東西。有沒有更好的方法來完成這一點?
你應該只問每個問題一個問題。考慮到你的兩個問題是完全不同的。請刪除你的第二個。你可以就此提出另一個問題。它會幫助你得到更多更好的答案。 –
好的,會做的。 – dGFisher
將對象圖存儲在關係數據庫中的一種非常簡單的方法是讓您的類實現「Serializable」,然後將整個序列化對象圖存儲在數據庫列中。您可以通過將對象「串化」爲JSON String來做類似的事情,然後將字符串保存到數據庫字段中。序列化表單和JSON'String'都可以反序列化爲原始對象。必須小心謹慎,以確保序列化表格的高效性和正確性。 – scottb