org.springframework.dao.TransientDataAccessResourceException


 

 

今天給大家分析一個在mybatis中遇見的錯誤

是什么原因導致這個錯誤信息呢,請看下面代碼

再來看看下面找個

發現區別在哪里沒有,沒錯就是#與$的區別。

1 #是將傳入的值當做字符串的形式,eg:select id,name,age from student where id =#{id},當前端把id值1,傳入到后台的時候,就相當於 select id,name,age from student where id ='1'.

 2 $是將傳入的數據直接顯示生成sql語句,eg:select id,name,age from student where id =${id},當前端把id值1,傳入到后台的時候,就相當於 select id,name,age from student where id = 1.

 3 使用#可以很大程度上防止sql注入。(語句的拼接)

 4 但是如果使用在order by 中就需要使用 $.

 5 在大多數情況下還是經常使用#,但在不同情況下必須使用$. 

如有需要可以加我Q群【308742428】大家一起討論技術。

后面會不定時為大家更新文章,敬請期待。

喜歡的朋友可以關注下。


免責聲明!

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



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