今天碰到使用预编译赋值的时候的一个大坑
如下图,有这样一段sql
因为in后面的项数不确定 只能采用in(:ids)这种方式
然后使用query.setParameterList("ids",ids);方式来赋值
后面的时间依然采用?的方式
然后运行 也不报错 但是查出的数据不对 我就纳闷了 不知道问题出在哪
经过了多次调试之后发现 问题就出在:ids 和?上
如果这两个混合用回出错 源码解析position会有问题,所以只能改成上下都用:name的方式才解决问题
本文共 283 字,大约阅读时间需要 1 分钟。
今天碰到使用预编译赋值的时候的一个大坑
如下图,有这样一段sql
因为in后面的项数不确定 只能采用in(:ids)这种方式
然后使用query.setParameterList("ids",ids);方式来赋值
后面的时间依然采用?的方式
然后运行 也不报错 但是查出的数据不对 我就纳闷了 不知道问题出在哪
经过了多次调试之后发现 问题就出在:ids 和?上
如果这两个混合用回出错 源码解析position会有问题,所以只能改成上下都用:name的方式才解决问题
转载于:https://www.cnblogs.com/gaofz/p/8036745.html