实际业务中经常会面对一对多查询,但是我一直不会,知道看到了 macrozheng的mall项目才知道。果然还是应该多看别人的源码以此来开阔视野。
第一步,在xml中创建一个返回类型,返回类型中有3中表达方式对应三种情况
<resultMap
id="updateInfoMap"
type="返回的java类型"
extends="返回java类型的继承类">
<result column="自定义查询结果行" property="自定义查询结果的属性名" />
<collection
property="一对多中的多,所对应的java中的属性名"
columnPrefix="自定义查询列的前缀_"
resultMap="属性所对应的mapper所在java路径.xml类型文件对应中resultMap的id">
</collection>
<collection
property="一对多中的多,所对应的java中的属性名"
column="{ex_Id=id}"
select="当前mapper中所对应的子查询id"/>
</resultMap>
第二步,创建返回类型中的查询语句
<select
id="第一步中返回类型对应的id"
resultMap="返回类型所对应的mapper的java.返回类型所对应的xml中的resultMap">
select * from a where a.id=#{ex_Id}
</select>
第三步,新建查询语句
<!-- 自定义分页 -->
<select id="getInfoExById" resultMap="updateInfoMap">
a.*
b.id 自定义查询列的前缀_id
FROM t_a a
LEFT JOIN t_b b on b.id = a.b_id
WHERE t.id=#{id}
</select>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107703.html