[英]MyBatis Mapper association reflected in java class
我想知道是否必须在课堂上反映相关属性
如果我将select与联接一起使用,然后创建一个映射器,即
<resultMap type="Company.Company" id="companyResult" >
<result column="id" property="id" />
<result column="name" property="name" />
<association property="CompanyLevelId" resultMap="LevelMap" />
</resultMap>
<resultMap id="LevelMap" type="Company.CompanyLevel" >
<id column="CompanyLevelId" property="CompanyLevelId" />
<result column="Operator" property="Operator" />
<result column="Level" property="level" />
</resultMap>
我的公司课程是什么样的? 我是否必须创建一个新类,将“公司”级别作为对象包含在内?
Company类将具有三个字段,一个整数id,一个字符串名称和一个名为CompanyLevelId的CompanyLevel对象。 CompanyLevel类还将具有三个字段,CompanyLevelId,Operator和level。
该关联会将联接的结果转换为LevelMap结果图所定义的CompanyLevel对象。
因此,公司的Java类应如下所示:
public class Company{
int id;
String name;
CompanyLevel CompanyLevelId; //this name is defined by the 'property' attribute
public Company(){
}
//getters and setters
}
而且CompanyLevel看起来像:
public class CompanyLevel{
int CompanyLevelId; //once again defined by 'property' attribute
String Operator;
int level;
public CompanyLevel(){
}
//getters and setters
}
为了更清楚一点,我将属性名称从CompanyLevelId更改为Company类的级别,并将CompanyLevel类的ID更改为关联,并指定Java类型。 这将使其如下所示:
<resultMap type="Company.Company" id="companyResult" >
<result column="id" property="id" />
<result column="name" property="name" />
<association property="level" resultMap="LevelMap" javaType="Company.Company" />
</resultMap>
<resultMap id="LevelMap" type="Company.CompanyLevel" >
<id column="CompanyLevelId" property="id" />
<result column="Operator" property="operator" />
<result column="Level" property="level" />
</resultMap>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.