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