mybatis的XML中注釋需謹慎


報錯內容:

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

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

#{executorId},想想,也許是這個的原因呢?然后就給注釋刪了,結果發現就是注釋的鍋:

 

 

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

-- 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} ))

 

 

 

 

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

 


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM