See*_*ani 7 java generics mybatis
我有两个类,其中一个继承另一个.我正在尝试将我的resultSet映射到子类,而Mybatis忽略了超类上的属性(Setters也在超类上)
代码如下:
public class CocTreeNode extends CocBean implements TreeNode<CocTreeNode> {
private String level1, level2;
public void setLevel1(String level1){...}
public void setLevel2(String level2){...}
public String getLevel1(){...}
public String getLevel1(){...}
}
public class CocBean {
protected String name;
protected Double volume;
public void setName(String name){...}
public void setVolume(Double volume){...}
public String getName(){...}
public Double getVolume(){...}
}
Run Code Online (Sandbox Code Playgroud)
我的resultMap是 -
<resultMap id="simpleRow" type="CocTreeNode">
<id property="level1" column="LEVEL1"/>
<id property="level2" column="LEVEL2"/>
<result property="name" column="NAME"/>
<result property="volume" column="VOLUME"/>
</resultMap>
Run Code Online (Sandbox Code Playgroud)
生成的CocTreeNode对象使用"level1"和"level2"属性填充,但不填充"name"和"volume".
我尝试使用扩展,但没有任何区别.
任何想法将不胜感激.
Beh*_*nil 15
您必须在simpleRow结果图中使用extends来扩展CocBean的resultmap中的属性:
<resultMap id="CocBeanResult" type="CocBean">
<result property="name" column="NAME"/>
<result property="volume" column="VOLUME"/>
</resultMap>
<resultMap id="simpleRow" type="CocTreeNode" extends="CocBeanResult">
<result property="level1" column="LEVEL1"/>
<result property="level2" column="LEVEL2"/>
</resultMap>
Run Code Online (Sandbox Code Playgroud)