数据库错误:Cause: org.postgresql.util.PSQLException: ERROR: syntax error at or near “{“

 测试接口的时候,控制台报错

数据库错误:Cause: org.postgresql.util.PSQLException: ERROR: syntax error at or near “{“_第1张图片

可以看到"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复制到数据库工具里,如:

数据库错误:Cause: org.postgresql.util.PSQLException: ERROR: syntax error at or near “{“_第2张图片

将写好的SQL格式化之后可以很清晰的看到SQL报错,

所以这条SQL的问题在:#{} 的时候  #和{之间不要留有空格.

相同的问题都可以使用数据库的编译工具来测试一下SQL的问题.

你可能感兴趣的:(今天我又写BUG了)