我有这样的POJO
public class Application
{
private String dcn;
private Party applicant;
private Date createdDateTime;
private NamedValue[] flags;
// containing getter and setters
}
public class Party
{
private String lastName;
private String rfc;
// containing getter and setters..
}
我的表格列是..
dcn,applicantLastName,applicantRFC,createdDateTime,flag
都是varchar类型。 我正在使用注释从上表中获取数据,并使用下面的查询将其设置为POJO。
@Select("SELECT dcn,applicantLastName,applicantRFC,createdDateTime,flag FROM DnA_Application WHERE dcn=#{dcn}")
List<Application> getByProc(int proc);
我没有使用上述配置从表中获取Party bean的数据。请帮助。
答案 0 :(得分:0)
无法使用注释映射联接的结果。 mybatis不支持此功能。以下是documentation的引文:
您会注意到,注释不支持联接映射 API。这是由于Java注释中的限制所致 允许循环引用
一种映射方法是在xml中定义一个结果映射,并通过@ResultMap
对其进行引用。
mapper.xml:
<resultMap id="ApplicationResultMap" type="Application" autoMapping="true">
<id property="dcn" column="dcn" />
<association property="party" javaType="Party" resultMap="PartyResultMap" columnPrefix="applicant"/>
</resultMap>
在映射器界面中:
@Select("SELECT dcn,applicantLastName,applicantRFC,createdDateTime,flag FROM DnA_Application WHERE dcn=#{dcn}")
@ResultMap("ApplicationResultMap")
List<Application> getByProc(int proc);