测试接口的时候,控制台报错
可以看到"bad SQL"提示,表明SQL写的有问题.所以报错,这个时候直接根据输出的SQL提示检查该条SQL:
select count(querytype) as num, querytype
from queryque
where 1 = 1
and requestdatetime >= TO_DATE(? ||' 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
and requestdatetime <= to_timestamp(? || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
and userid = # {userId} and querystate in (?) group by querytype
如果能用眼睛一眼看出来问题更好,看不出来的话最好的方法就是把有问题的SQL复制到数据库工具里,如:
将写好的SQL格式化之后可以很清晰的看到SQL报错,
所以这条SQL的问题在:#{} 的时候 #和{之间不要留有空格.
相同的问题都可以使用数据库的编译工具来测试一下SQL的问题.