今天要做一個向前臺傳的接口 有一個對象對多個對象的問題 想了想 分表查比較麻煩 而且還得轉json 搜了搜 mybatis 一對多 果斷用之 下面就分享一下mybatis一對多的經驗
表A 與表B的關係 a.A1=b.A1
首先resultMap
<resultMap id="A" type="com.test.A">
<result column="A1" property="a1" jdbcType="VARCHAR" />
<collection property="items" ofType="com.test.B" javaType="List">
<result column="B1" property="b1" jdbcType="VARCHAR" />
<result column="B2" property="b2" jdbcType="VARCHAR" />
</collection>
</resultMap>
collection 作爲resultMap A的一個屬性出現
下面sql 直接
<span style="white-space:pre"> </span>select a.A1,b.B1,b.B2 from a join b on a.A1=b.A1
最後是 實體關係
<span style="white-space:pre"> </span>public class A{
<span style="white-space:pre"> </span>private String A1;
<span style="white-space:pre"> </span>private List<B> list;
<span style="white-space:pre"> </span> ....此處略去三百字
<span style="white-space:pre"> </span> }
public class B {
private String B1;
private String B2;
...此處略去三百行
}
一切ok 了sql 直接查出來是一個A1,B1,B2的列表 但是 聰明的mybatis 會自動把列表拼裝成我們需要的一對多關係滴