昨天在做一个项目的时候,遇到了一个很奇怪的问题,在使用PrepareStatement进行查询的时候,发现竟然报“无效表名”这个错误,尝试了半天,最后终于在同事的提醒下,发现原来PrepareStatement在使用的时候,是不能把表名当参数传进去的,也就是说不能出现这样的写法

    select * from ?;

然后再把表名传进去,这种写法是行不通的。因此只能使用字符串拼接的方式来对动态的表进行查询。

    另外还有一个问题,就是在写sql语句的时候,可以用--作为注释,但是这样的语句通过PrepareStatement来执行的时候,也是会报错的,这时去掉--及其所在行即可。