打印对象数组列表

我正在使用 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);



我需要使用<iterate>(因为在我的版本中 foreach 不可用)在 sql 模板中映射此数据。我目前拥有的:


<select parameterClass="ArrayList">

    select * from something

    where str IN

    <iterate property="insert">

        #[].firstStr$, #[].secondStr#

    </iterate>

</select>

我收到以下错误:


String index out of range: -1

这个问题的原因可能是什么?


编辑:不要让我更新或使用其他依赖项,因为由于软件限制这是不可能的!


弑天下
浏览 96回答 1
1回答

互换的青春

实际上你是对的,你的代码中只有一个小错字。property="insert"在您的声明中删除<iterate>:<select parameterClass="ArrayList">&nbsp; &nbsp; select * from something&nbsp; &nbsp; where str IN&nbsp; &nbsp; <iterate>&nbsp; &nbsp; &nbsp; &nbsp; #[].firstStr$, #[].secondStr#&nbsp; &nbsp; </iterate></select>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java