plsql可以执行但是在mybatis返回结果集报子查询返回多行语句的错误

版权声明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

关于mybatis返回结果集如何实现子查询

1、在接口中写子查询的方法 参数写一个integer类型的集合

2、在xml中实现方法 在in子查询中条件使用动态sql标签foreach
open是执行开始时写一个(
separator是每次循环完都会写一个逗号
close是循环结束时的一个)
直接给集合赋值 屌用方法即可~

原创文章 4获赞 0访问量 538


}

最近碰到了一个生产问题.
经过分析,发现一次请求调用,执行了很多次的SQL查询.
是因为在mybatis返回结果集中用了嵌套查询的写法,照成了该问题.

开发人员就先查询出满足的a1和a2记录,然后為了省事,在mybatis返回结果集中写返回值的resutlMap的时候,

这种写法在a1 a2返回记录数不多的时候没有问题,但是数据量一大,就照成有多少行记录,就要执行多少佽SQL,要慎用这种情况.在外层要对a1 a2的返回记录数做Limit n.
不能用于全量导出这种没有Limit的场景.

}

    
 


注意:在这里省略了很多不必要嘚东西不必介意,只需要看重点就好如果有什么问题,可留言我回及时回答的
}

我要回帖

更多关于 mybatis返回结果集 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信