在Java中對數據庫查詢時經常使用“Select Top ? * From 表名 Where 列名 = ?”的SQL語句,此時的問號是PreparedStatement預編譯對象的參數佔位符,需要使用setXX()系列方法對其賦值後再執行。
但是,Top後面是不允許使用問號佔位符的,此處的錯誤就是由此引起的。
解決:
將語句:select top #{top} * from tb語句修改爲:select top ${top} * from tb
在Java中對數據庫查詢時經常使用“Select Top ? * From 表名 Where 列名 = ?”的SQL語句,此時的問號是PreparedStatement預編譯對象的參數佔位符,需要使用setXX()系列方法對其賦值後再執行。
但是,Top後面是不允許使用問號佔位符的,此處的錯誤就是由此引起的。
解決:
將語句:select top #{top} * from tb語句修改爲:select top ${top} * from tb