今天要做一个向前台传的接口 有一个对象对多个对象的问题 想了想 分表查比较麻烦 而且还得转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 会自动把列表拼装成我们需要的一对多关系滴