java - 打印对象的数组列表

标签 java arraylist ibatis

我正在使用 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>在sql模板中映射这些数据(因为在我的版本中 foreach 不可用)。我目前拥有的:

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

我收到以下错误:

String index out of range: -1

导致此问题的原因是什么?

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

最佳答案

实际上你是对的,你只是代码中有一个小错字。删除property="insert"在你的<iterate>声明:

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

关于java - 打印对象的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888724/

相关文章:

java - 对版本号进行排序

java - “Java”未被识别为内部或外部命令

java - 无法将外部 .jar 库导入 Eclipse 上的 Android 项目

java - MyBatis 3.0.5 和 mappers 加载问题

java - 有没有办法在多个客户端和服务器提交后显式提交和回滚事务

java - Xpages XP :customValidator: do I need to create a separate bean for each customValidator?

java - 为什么 ArrayList 从多个线程修改时不抛出 ConcurrentModificationException?

java - 2种使用迭代器向Java ArrayList中添加元素的方式的区别

java - 如何将映射条目添加到 ArrayList?

java - 为什么我在插入数据时收到 SqlMapException?