当前使用版本(必填,否则不予处理)

3.3.0

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用QueryWrapper in 方法,传递 List 参数,其中一字符串包含英文 "," 。从结果看,实际是以英文"," 为分隔符,将该字符串分隔为两个字符串后,才执行查询语句。

重现步骤(如果有就写完整)

打印sql 日志示例 ==> Preparing: SELECT 1 FROM goods WHERE (model IN (?) AND prices IS NOT NULL AND prices <> ? AND state = ?) LIMIT 1 ==> Parameters: ABCD,EF(String), (String), 1(Integer)

但实际结果是 查询 “ABCD” 和 "EF" 的结果,而不是查询“ABCD,EF” 的结果

报错信息

Comment From: miemieYaho

就算你自己xml里写foreach也是这样的

Comment From: MRsLl

我在 xml 里写 foreach 是不会出现这种问题的

Comment From: MRsLl

    SELECT 1
    FROM goods 
    <where>
        model IN
        <foreach collection="list" item="model" open="(" separator="," close=")">
            #{model}
        </foreach>
    </where>

Comment From: miemieYaho

那你写个复现demo看看

Comment From: MRsLl

不好意思,排查到最后发现是我自己的问题