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. Спасибо заранее за любую помощь.

0 ответов

Другие вопросы по тегам