gpt4 book ai didi

java - Mybatis中的foreach是硬解析还是软解析?

转载 作者:搜寻专家 更新时间:2023-10-30 20:40:36 25 4
gpt4 key购买 nike

我正在尝试在 MyBatis-3.2 中制定一个动态查询。该查询涉及一个“IN”子句,其中传递了一个项目列表。 MyBatis 确实通过 foreach 结构支持 'IN' 子句。该查询将非常频繁地用于可变大小的项目列表。另外,我不希望 oracle 每次都硬解析这个 sql 查询。

所以,这是我的担忧 -

1)MyBatis中的foreach是硬解析还是软解析?

2)如果是软解析,什么时候将值代入IN子句列表?

3) 如果它被硬解析,是否有解决方法来支持这个用例?在这种情况下,我们能否将列表绑定(bind)到变量以支持软解析?

我在网上搜索了所有这些问题,但找不到任何运气。对此的任何评论都会有很大帮助。 :)

提前致谢

最佳答案

据我所知,MyBatis 在将 SQL 发送到数据库处理之前会替换你的 foreach。它首先替换您提供的所有参数并处理所有foreach、if 等标记,然后将完整的SQL 发送到数据库

关于java - Mybatis中的foreach是硬解析还是软解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com