query.setXXX预编译赋值 (坑爹的)

今天碰到使用预编译赋值的时候的一个大坑

 如下图,有这样一段sql

因为in后面的项数不确定 只能采用in(:ids)这种方式 

然后使用query.setParameterList("ids",ids);方式来赋值

后面的时间依然采用?的方式

然后运行 也不报错 但是查出的数据不对 我就纳闷了 不知道问题出在哪

 

经过了多次调试之后发现  问题就出在:ids   和?上

如果这两个混合用回出错  源码解析position会有问题,所以只能改成上下都用:name的方式才解决问题

posted @ 2017-12-14 11:20  被爱的都有恃无恐  阅读(257)  评论(0编辑  收藏  举报