mssql(sqlserver)报错: java.sql.SQLException: '@P0' 附近有语法错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Honnyee/article/details/85337974

mybatis运行mssql语句的时候,报这个错mssql报错: java.sql.SQLException: '@P0' 附近有语法错误

 

原因:

Top后面是不允许使用?占位符,‘@P0’附近有语法错误就是由此引起的。需使用拼接sql语句的方法。 

@P0指的是第一个参数附近有错误,要是在第二个参数(?)附近,则错误为'@P1' 附近有语法错误。

解决:

所以在mybatis中,传参的写法应该是: ${XXX}   这样是动态拼接

例如:

SELECT top ${pageSize} id,type,title,createTime from lyg_system_bugRecord

    WHERE name= #{name,jdbcType=VARCHAR}

    AND id not in (SELECT top ${index} id from tablename ORDER BY createTime DESC)

ORDER BY createTime DESC; 

 

 

猜你喜欢

转载自blog.csdn.net/Honnyee/article/details/85337974