MyBatis 动态SQL foreach 循环拼接separator使用问题
时间:2020-08-02 17:38:35
收藏:0
阅读:438
在使用mybatis动态SQL的时候,遇到了一个疑惑:
collection集合中集合长度为0和1的问题,是否会导致sql语句报错
于是测试了一下(0肯定会报错),发现集合长度为1的时候是不会报错的,为什么会觉得1会报错?因为有separator分隔符
究竟这个分隔符是在什么时候插入的,如果是在遍历第一次集合的时候插入,那么整个sql语句就会多一个逗号,反之,sql语句是正确的
发现这是可以测试成功的,也就是说,在集合为1的情况下,动态sql在底层的时候应该会自动帮我们把separator去掉,保证sql语句不报错;
又或者是说,在集合大于1的情况下才会激活separator这个分隔符的功能。
原文:https://www.cnblogs.com/sjfxdbky/p/13418525.html
评论(0)