iBATIS 2中的寻址数组索引



是否可以在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'

在sqlmap中不可能通过索引将value设置为数组,因为iBatis使用setter来写入值。您应该为您的属性设置setter,以便在sql映射中使用它。

我建议在你的类中为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>

最新更新