Печать массиваЛист объектов - PullRequest
1 голос
/ 04 июля 2019

Я использую Ibatis 2 и спрашиваю, как напечатать массив объектов (так как официальные документы пропали).Это пример данных, похожих на тот, который у меня есть:

[
    {
        "firstStr": "D392",
        "secondStr": "N3895"
    },
    {
        "firstStr": "D624",
        "secondStr": "M2435"
    },
    {
        "firstStr": "T4543",
        "secondStr": "K9345"
    }
]

Эти данные определены как ArrayList.Объекты внутри массива определены как Map:

Map<String,String> data = new HashMap();
data.put("firstStr","D392");
data.put("secondStr","N3895");
...

ArrayList<Map> insert = new ArrayList<Map>();
insert.add(data);


Мне нужно отобразить эти данные в шаблоне sql, используя <iterate> (потому что в моей версии foreach недоступен).Что у меня сейчас есть:

<select parameterClass="ArrayList">
    select * from something
    where str IN
    <iterate property="insert">
        #[].firstStr$, #[].secondStr#
    </iterate>
</select>

Я получаю следующую ошибку:

String index out of range: -1

В чем может быть причина этой проблемы?

РЕДАКТИРОВАТЬ: Не спрашивайте меняобновить или использовать другую зависимость, потому что это невозможно из-за ограничений программного обеспечения!

1 Ответ

1 голос
/ 05 июля 2019

На самом деле вы правы, в вашем коде только одна небольшая опечатка. Удалите property="insert" в вашем <iterate> утверждении:

<select parameterClass="ArrayList">
    select * from something
    where str IN
    <iterate>
        #[].firstStr$, #[].secondStr#
    </iterate>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...