ibatis组合结果映射

   有两张表,表 table_A、表table_B。table_A 包含字段 A_a,table_B 包含字段 B_a。分别对应 table_A、table_B 创建javaBean类 bean_A、bean_B。

1.对于 table_A左联table_B 一对一:
/** javabean */
public class bean_A{
    private int A_a;

    private bean_B b;

    ...get,set...
}

public class bean_B{
    private B_a;
    
    ...get,set...
}

/** sqlMap */
<resultMap class="bean_A" id="...">
    <result property="A_a" column="A_a"/>
    <result property="b.B_a" column="B_a"/>
</resultMap>


2.对于table_A左联table_B 一对多:
/** javabean */
public class bean_A{
    private int A_a;

    private List b_List;

    ...get,set...
}

public class bean_B{
    private B_a;
    
    ...get,set...
}

/** sqlMap */
<resultMap class="bean_A" id="..." groupBy="A_a">
    <result property="A_a" column="A_a"/>
    <result property="b_List" resultMaqp="bean_b"/>
</resultMap>

<resultMap class="bean_B" id="...">
    <result property="B_a" column="B_a"/>
</resultMap>

  groupBy属性值引用一个特性名而不是一个列名.


优点:避免为每一个联合查询创建对应的javabean,最大化重用原有javabean,易于维护

你可能感兴趣的:(java,bean,ibatis)