首页 > 代码库 > HTTP 500 '@P0' 附近有语法错误

HTTP 500 '@P0' 附近有语法错误

最近在用jbdc连接数据库,做分页时采用如下sql语句

select top ? *  from payInfo where id not in

  (select top ? id from payInfo order by id) order by id

ps.setInt(1,pageSize);

ps.setInt(2,pageSize*(pageNow-1))

运行程序,在ps.executeQuery()处出现‘@P0‘ 附近有语法错误

原因是top后面不允许使用占位符

所以可以采用连接字符串的方式,但是这样存在注入漏洞的危险

通用的方法是采用存储过程进行分页,但是分页的效率较低一些