簡體   English   中英

MyBatis Mapper關聯反映在Java類中

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM