[英]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.