MyBatis嵌套结果集,如何向子查询传递多个参数

MyBatis嵌套结果集,如何向子查询传递多个参数

# 具体遇到的问题
原本是想完成课后作业,查询订单根据关键字查询,首先想到的方式是直接在MyBatis里面加一个<if>标签,里面拼接商品名字的模糊查询。但这个查询是在子查询里面,参数始终传不过去。


# 报错信息的截图

http://img1.sycdn.imooc.com//climg/5fca02f50953908109880336.jpg

# 相关课程内容截图


# 尝试过的解决思路和结果

1.尝试传map,在后面拼接<if>标签,控制直接报错

http://img1.sycdn.imooc.com//climg/5fca048e09c8e01b09090803.jpg


2.修改colum标签的内容,但结果是不会执行下面的子查询,控制台并无报错http://img1.sycdn.imooc.com//climg/5fca039d09ad287908880797.jpg


3.后面删除<if>后,运行发现,无论大括号里面是什么的,最终的值都是orderId

http://img1.sycdn.imooc.com//climg/5fca05c609f1262008710737.jpg


# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
风间影月 2020-12-04 17:50:57

嵌套穿参应该课程里有这样的查询的,可以参考源码一下的

  • 提问者 Ateddy #1

    课程里面是有嵌套传参,但是只传了一个orderId,课程的代码是这样的,column='orderId'

    <collection property="subOrderItemList"
               select="getSubItems"
               column="orderId"

    子查询中就可以直接用了。我现在是想再多传一个keywords参数,尝试了用map,但子查询中无法取到keywords的值

    2020-12-04 18:01:59
  • 风间影月 回复 提问者 Ateddy #2
    换别的试试看。不要用keywords这个取名
    2020-12-04 18:03:17
风间影月 2020-12-04 17:50:17

在map里put,然后穿进去即可。你是什么参数呀?对象?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师