寻址iBATIS 2中的数组索引

时间:2011-10-12 09:36:48

标签: ibatis

可以在sqlmap中按索引寻址数组吗?

我想要的是:

class A {
  String[] foo = {"",""};
}

<resultMap id="someResultMap" class="A">
    <result property="foo[0]" column="COLUMN_Y" />
    <result property="foo[1]" column="COLUMN_X" />
</resultMap>

如果我尝试我得到:

There is no WRITEABLE property named 'foo[0]' in class 'A'

1 个答案:

答案 0 :(得分:0)

无法通过sqlmap中的索引将值设置为数组,因为iBatis使用setter来写入值。你应该让你的属性的setter在sql map中使用它。

我建议你在课堂上为coulumnX和columnY创建属性。如果您仍然希望在课堂上使用数组,您可以在类中进行一些解决方法,如下所示。

class A {
String[] foo = {"",""};
String col1;
String col2;
//have getter and setter for col1 and col2

getFoo(){
foo[1] = getCol1();
foo[2] = getCol2();
return foo;
}

}

<resultMap id="someResultMap" class="A">
<result property="col1" column="COLUMN_Y" />
<result property="col2" column="COLUMN_X" />
</resultMap>