我为大约 400 个左右objects
创建了一个Hashmap
。我必须将objects
和hash maps
存储在mysql table
中。
因此,此表的每条记录都将有一个对象及其相应的hashmap
。
我该如何实现这一目标以及从sql table
中取回我的hashmap
。
hashmap
包含一个直方图,我希望存储的对象是图像。
不要将 HashMap 存储在数据库中。将哈希映射中的对象存储在数据库中。我想当你在数据库中拥有它的所有"值"时,你可以重新创建你的哈希图。
我建议你XML序列化你的HashMap
:https://stackoverflow.com/a/4602230/1788704
然后,将其放在MySQL
表中的TEXT
列中。
这当然不是最好的方法,但它有效,您可以轻松查看数据库中的内容是否正确。
但问题是将Hashmap存储在数据库中肯定不是一个好的解决方案。
Map 是可以与数据库中的表进行比较的数据容器。它存储一些数据。您应该创建一个表,在该表中,您有一个要标识的唯一键以及表示实体内容的列。
如果您有这样的结构,则可以创建一个表示实体的对象。然后,将数据库中的数据填充到对象,并使用密钥将它们存储在 Map 中。
例如
您的餐桌
| ID | NAME | LASTNAME |
您的班级
class Person {
long id;
String name;
String lastname;
public long getId() {
return id;
}
}
你映射
地图存储 = 新的哈希地图()<>;
潜在用途
public Map<Long,Person> loadPersonWithName(String regexp) {
Collection<Person> persons = searchForPersonWithName(regexp);
if(persons.isEmpty()) {
return Collections.emptyMap();
}
Map<Long,Person> result= new HashMap()<>;
for(Person person: persons) {
result.put(person.getId(),person);
}
return result;
}
在方法searchForPersonWithName
中,您需要实现访问数据库的逻辑,并将查询结果转换为 Person 类的对象。