jfinal 如何实现 数据库in 查询

String querySql="select * from user where id in (?,?,?,....,?)";

List<Record> record=Db.find(querySql);

这里的?是代表参数数量不固定


评论区

要输就输给追求

2018-04-19 17:02

#if(ids)
and id in(
#for(id:ids)
#para(id)#if(!for.last),#end
#end
)
#end

caicm

2018-04-19 17:10

@要输就输给追求 这个是使用jfinal的数据库模板吗?

caicm

2018-04-19 17:13

@要输就输给追求 目前使用的Jfinal是 1.9

要输就输给追求

2018-04-19 17:20

@caicm 那就只能java代码拼sql语句了

caicm

2018-04-19 17:33

@要输就输给追求
拼成sql语句来查询,会报这个错(数据库语句有错)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'v.video_id in (1,2,3)' at line 1

要输就输给追求

2018-04-19 17:39

把sql拿到外面工具里面执行一下看看是不是拼错了

caicm

2018-04-19 17:40

@要输就输给追求
这样拼的
String Id="1,2,3"
String querySql="select * from user where id in ("+Ids+")";

caicm

2018-04-19 17:41

@要输就输给追求 外面工具可以执行

要输就输给追求

2018-04-19 18:01

是不是查询字段里面有关键字啥的。

安徽张涛

2018-04-23 08:32

@caicm 拼SQL肯定没问题的,一直都这么干的

或是的话

2018-04-24 09:08

#paraIn 指令有人写过 了解一下

caicm

2018-04-24 14:51

已解决

suxiaoqiuking

2018-04-27 10:59

有种优雅的方式 通过数组就可以搞定

_华生医生

2019-12-18 13:38

@suxiaoqiuking 麻烦给大家分享一下

热门分享

扫码入社