2013-11-08 4 views
0

У меня есть hashmap с парой. ключом в этом являются имена столбцов в таблице. Теперь я хочу вставить их в таблицу, скажем, user_table, . Я должен иметь возможность сопоставить ключ с именами столбцов, и если оба они одинаковы, тогда вставьте это значение в таблицу.Как вставить hashmap в таблицу базы данных?

Что я делаю, так это то, что мне нужно написать подготовленное состояние со всеми столбцами, а затем передать значения hashmap в качестве параметра, используя методы setter подготовленных данных. Для этого мне нужно знать все столбцы таблицы, и это будет утомительной работой, так как ее не будет. столбцы, и этот шаг будет повторяться без таблиц.

рассказывай идея сделать это, спасибо заранее

ответ

0

Во-первых, использовать LinkedHashMap, чтобы сохранить порядок столбцов. Это будет иметь значение при итерации по карте для назначения имен столбцов, а затем значений.

Я не совсем уверен, что вы просите, но вы намекаете на то, что называется реляционным сопоставлением объектов (ORM). Проще говоря, это способ сопоставить таблицы базы данных с обычными старыми объектами Java (POJO). Хотя есть намного больше, чем это.

Если вы заинтересованы в представлении таблиц базы данных в качестве объектов, вы должны изучить Hibernate, который является популярным API Java ORM.

В противном случае создайте и сохраните стандарт, который является однородным как для вашей базы данных, так и для вашего проекта Java, и все будет в порядке.

Edit:

Если я правильно понял ваш вопрос немного больше, у вас возникли проблемы с зная имена столбцов? Это то, что вы должны знать, не будет простой, динамичный или эффективный способ получения этой информации.

Один пример установки этой информации хранит имена столбцов в массиве String класса, представляющего вашу таблицу. Затем вы можете получить доступ к массиву и перебрать его при сохранении в базу данных.

И, наконец, если вам нравится читать, проверьте мой ответ (Store nested Pojo Objects as individuall Objects in Database). Я подробно изучаю, как я управляю базой данных на Java и наоборот.

+0

Да, Hibernate решит проблему, но я не знаю, спящий режим. и для этого вам нужно будет пройти через учебники. –

+0

И мне нужно сохранить hashmap в таблице, имена столбцов таблицы и все имена ключей карты одинаковы, поэтому, получив имя ключа, мне нужно сохранить это значение в соответствующем имени столбца в таблице. это мое точное требование. проблема не может быть. столбцов в таблице, поэтому я не могу перейти к методу setter подготовленных операторов. @abmitchel. Спасибо за ответ –

+0

Можете ли вы показать мне, что у вас есть до сих пор в коде, и где у вас проблемы? – hotforfeature

Смежные вопросы