JFinal Sql中in查询怎么传参

有集合List,size大小大概为100多,也可能更大,如何将该参数传入sql的in语句中,比如:

List<Long> list = new ArrayList<Long>(); //size=100
select * from B where user_id in(?) //要将list传入in中
用paginate查的时候,那个参数怎么传啊。


评论区

冰雨

2018-09-12 08:48

将sql写到sql模板中,list作为参数,然后用for循环拼接即可,跟java for循环一样的,注意in查询是有数量限制的。

Marsom

2018-09-12 10:28

@冰雨 谢谢,昨天看到一篇博客,已经解决了。数量限制是什么情况?

冰雨

2018-09-13 08:47

@Marsom 比如oracle在in条件中,最多可以到1000个,假如你1005个id,你就需要拼接成id in (1....1000) or in (1001...1005)

ddjfinal

2018-09-13 11:28

@冰雨 条件过多的话,还不如配置在额外的表里面做关联查询

Marsom

2018-09-13 16:38

@冰雨 原来如此,谢谢谢谢