我正在使用 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这个问题的原因可能是什么?编辑:不要让我更新或使用其他依赖项,因为由于软件限制这是不可能的!
1 回答
互换的青春
TA贡献1797条经验 获得超6个赞
实际上你是对的,你的代码中只有一个小错字。property="insert"在您的声明中删除<iterate>:
<select parameterClass="ArrayList">
select * from something
where str IN
<iterate>
#[].firstStr$, #[].secondStr#
</iterate>
</select>
添加回答
举报
0/150
提交
取消