mybatis(112/134)
多对一
第一种方法:
一的表参数设置:
<association property="clazz" javaType="Clazz">
<id property="cid" column="cid"/>
<result property="cname" column="cname"/>
</association>
第二种方法,嵌套查询,需要分开写两个xml和接口,复用性高,可以懒查询
<resultMap id="studentResultMapByStep" type="Student">
<id property="sid" column="sid"/><result property="sname" column="sname"/>
<association property="clazz"
select="com.powernode.mybatis.mapper ClazzMapper.selectByIdStep2
column="cid"/>
</resultMap>
懒查询
<settings>
<!--延迟加载的全局开关。默认值false不开启。--
<!--什么意思:所有只要但凡带有分步的,都采用延迟加载。--
<setting name="lazyLoadingEnabled" value="true"/>
</settings>
实际开发中的模式:把全局的延迟加载打开。如果某一步不需要使用延迟加载,请设置:fetchType="eager"
一对多与多对一类似,只是返回的是数组或者集合,不再赘述。