mybatis中resultMap标签中加入collection的用法及一对多查询limi。。。

更新时间:2023-07-22 15:17:48 阅读: 评论:0

mybatis中resultMap标签中加⼊collection的⽤法及⼀对多查询limi。。。
⽇常开发中,数据之间可能是⼀对多的关系,那么查询的时候就需要⼀对多关联查询,这个时候就使⽤到了 <collection>标签。
<resultMap type="com.ity.PsomAsmbleStock" id="BaResultMap">
//resultMap中的元素是主表的数据
<id column="id" property="id"/>
<result column="other_no" property="otherNo"/>
//collection中property是PsomAsmbleStock中的⼀个list,也就是1:n中的n,list的类型是n
//ofType也就是n的实体类型
<collection property="listProduce"
ofType="com.ity.PsomAsmbleProduce">
重阳节英文
//下⾯的字段属性就是n的元素,注意查询n的时候的id需要重新命名
<id column="asmble_produce_id" property="id"/>
<result column="asmble_produce_asmble_id" property="asmbleId"/>
乖僻</collection>
</resultMap>招标书怎么写
通过上⾯的<collection>标签,mybatis就能够⾃动映射过去。
注意:当数据之间的关系变成1:n:n的时候,我们可以在<collection>中再嵌套⼀个<collection>,但是当嵌套的数量太多的时候,mybatis就不能全部映射过去,实践中检测到,mybatis只能够最多嵌套3层<collection>,当然在<resultMap>中放多少<collection>都是可以的。
还有⼀个问题记录⼀下:
⼀对多关联查询的时候limit的数量会跟随着⼀对多中的多进⾏展⽰,这样查询出来的数量就跟我们实际想要的出现出⼊。
以下是解决⽅法:
下⾯的sql中,psom_asmble_stock表是1,psom_asmble_produce 是n
SELECT psom_asmble_stock.* ,
psom_asmble_produce.id as asmble_produce_id,
诚信素材
psom_asmble_produce.number as asmble_produce_num,
from psom_asmble_stock
LEFT JOIN psom_asmble_produce ON psom_asmble_stock.id = psom_asmble_produce.asmble_id
//使⽤where条件+⼦查询筛选出主表的信息
生男孩秘籍
小意达的花儿where psom_asmble_stock.id in (lect id from (lect distinct id from (
lect psom_asmble_stock.id from psom_asmble_stock
LEFT JOIN psom_asmble_produce ON psom_asmble_stock.id = psom_asmble_produce.asmble_id
路由器复位
大世界游乐场) as table1
limit #{0}, #{10} ) as table2 )

本文发布于:2023-07-22 15:17:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1110999.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:查询   时候   数据   映射   元素   主表   数量   实践
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图