Хранение хэш-карты в базе данных SQL
Как вы храните хэш-карту внутри базы данных SQL? Кроме того, как бы вы загрузили этот HashMap из базы данных SQL обратно в экземпляр HashMap?
ладно, это то, что я делаю. У меня есть база данных для хранения данных игрока для моей игры. Он имеет таблицу, содержащую их имена пользователей и пароли. У каждого игрока есть HashMap, который хранит их свойства. Мне нужно сохранить этот HashMap в базе данных вместе с соответствующим пользователем.
4 ответов
если вы хотите вставить ключ-значение, вы можете, однако, убедиться, что ключи и значения являются строками и могут вписываться в определение столбца. Вот пример:
mysql> create table hashmap (k varchar(200), v varchar(200));
Query OK, 0 rows affected (0.24 sec)
mysql> insert into hashmap values ('key','value');
Query OK, 1 row affected (0.02 sec)
mysql> select * from hashmap;
+------+-------+
| k | v |
+------+-------+
| key | value |
+------+-------+
1 row in set (0.00 sec)
кроме того, вы можете уникальный индекс столбца k
который содержит ключи, поэтому ваши поиски постоянны, как и hashmap, и вы можете заменить старое значение с помощью ON DUPLICATE KEY UPDATE v = new_value.
. Я предполагаю, что вы используете MySQL для ON DUPLICATE KEY
часть.
каждая запись в HashMap похожа на строку в вашей таблице. В конечном итоге у вас будет отдельная таблица для каждого HashMap (возможно).
код K
параметр в вашей карте должен быть применен как уникальный ключ в вашей таблице и индексирован.
имейте в виду, что для хранения этих объектов может потребоваться более одного столбца каждый. Например, у вас может быть точечный объект в качестве ключа, поэтому вам понадобится столбец x и столбец y, а также индекс уникальности для пар x и Y.
HashMap структура данных, вы можете хранить данные, находящиеся в нем.
создайте таблицу, эмулирующую пару значений ключа. перебирать ключи карты и хранить ее в БД.