IBATIS - Вставить динамический HashMap из Spring в Oracle
Немного предыстории по этому вопросу. Из внешнего интерфейса у меня есть два поля выбора с множественным свойством. Одно поле предназначено для утвержденных элементов, другое - для игнорируемых. Я помещаю их в карту, где ключом является UID компании, а значением является "Y" или "N" в зависимости от того, в каком поле находится UID. Вставка значений HashMap в таблицу с использованием ibatis предоставила некоторую помощь, но ответ участие вручную ставит записи, где я динамически создаю карту, поэтому не уверен, какие ключи будут. Ниже приведен код для Java:
// Set up the map object for the back end
Map<Integer, String> posMap = new HashMap<Integer, String>();
// Get the approved mailers
String[] mailerList = request.getParameterValues("approved");
if (mailerList != null && mailerList.length > 0)
{
for(String mailer : mailerList)
{
posMap.put(Integer.parseInt(mailer), "Y");
}
}
// reset the mailerList
mailerList = null;
// get the ignored mailers
mailerList = request.getParameterValues("ignored");
if (mailerList != null && mailerList.length > 0)
{
for(String mailer : mailerList)
{
posSampleMap.put(Integer.parseInt(mailer), "N");
}
}
// only update POS if the map is not empty
if(!posMap.isEmpty())
{
updateMapper.updatePOSSampling(posMap);
}
Обычно у меня было бы что-то вроде этого в файле mapper.xml:
<update id="updatePOSSampling" parameterType="hashmap">
UPDATE <table_name>
SET sampling_enabled = ${myMapValue}
WHERE mailer_name = ${myMapKey}
</update>
В предоставленной мною ссылке они вручную вводили ключи и значения, и, как таковой, пример IBATIS мог ссылаться на ключ. Поскольку я не уверен, какой у меня ключ, каков наилучший способ создания этого запроса? У меня есть временный обходной путь отправки двумерного массива, но я считаю, что лучше использовать Map. Спасибо заранее за любую помощь.