mybatis的XML中註釋需謹慎

報錯內容:java

java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2)sql

調試半天,網上查了半天都是# 、$ 用法出錯,一次次的對比,一個個字找,發現,用法根本沒問題,忽然。。。看到了註釋中的mybatis

#{executorId},想一想,也許是這個的緣由呢?而後就給註釋刪了,結果發現就是註釋的鍋:spa

 

 

這樣,mybatis仍舊會把#{}算成一個帶注入的參數,二SQL認出了這個-- 的註釋.net

-- AND (dept.id = #{executorId} OR dept.parentId = #{executorId} OR parentId in ( SELECT id from user_department調試

-- WHERE user_department.id = #{executorId} OR user_department.parentId = #{executorId} ))blog

 

 

 

 

結論:在mybatis 的sql裏不是不能寫註釋,而是註釋不能有#{},mybatis仍舊會把#{}算成一個帶注入的參數io

 


參考:https://blog.csdn.net/peaceForEveryOne/article/details/82803357

im

相關文章
相關標籤/搜索