打印对象数组列表
Printing arrayList of objects
我正在使用 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
这个问题可能是什么原因造成的?
编辑:不要让我更新或使用其他依赖项,因为由于软件限制这是不可能的!
实际上你是对的,你的代码中只是有一个小错字。删除 <iterate>
语句中的 property="insert"
:
<select parameterClass="ArrayList">
select * from something
where str IN
<iterate>
#[].firstStr$, #[].secondStr#
</iterate>
</select>
我正在使用 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
这个问题可能是什么原因造成的?
编辑:不要让我更新或使用其他依赖项,因为由于软件限制这是不可能的!
实际上你是对的,你的代码中只是有一个小错字。删除 <iterate>
语句中的 property="insert"
:
<select parameterClass="ArrayList">
select * from something
where str IN
<iterate>
#[].firstStr$, #[].secondStr#
</iterate>
</select>