關於mybatis參數大小寫導致的傳入參數為null的情況


昨天在寫一個接口 ,發現調mapper的方法時,傳入參數為空。

sql語句為: 

SELECT FORM_PAGE_URL
FROM WF_FLOW_NODE
WHERE NODE_NO = #{NODE_NO,jdbcType=INTEGER}
AND FLOW_ID = (SELECT ID FROM WF_FLOW_BASE WHERE FLOW_NO=#{FLOW_NO,jdbcType=VARCHAR})
AND FLOW_VERSION_ID = (SELECT ID FROM WF_FLOW_VERSION WHERE VERSION = #{FLOW_VERSION,jdbcType=VARCHAR} AND FLOW_ID = (SELECT ID FROM WF_FLOW_BASE WHERE FLOW_NO=#{FLOW_NO,jdbcType=VARCHAR}))

將sql打印出來:

 

 

 所有的參數都是空。

打斷點,看傳入的參數:

發現參數都是有的,后來問同事,看了一會,把sql語句中參數的大寫全都改成小寫,問題解決。。。。

 

sql語句大小寫是都可以,但是在mybatis中通過#{}獲取參數,{}中的名稱應該與傳入參數的變量名保持一致,以保證能獲取到正確的值。一開始認為sql不分大小寫,就把所有內容都大寫了。。。

 


免責聲明!

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



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