1. 程式人生 > >MyBatis - #{ } 和 ${ } 的區別是啥 ? 看這裡就知道了!

MyBatis - #{ } 和 ${ } 的區別是啥 ? 看這裡就知道了!

一張圖就可以明白 區別所在.
在這裡插入圖片描述

#{ } 表示一個佔位符 ?

1.通過#{ }可以實現preparedStatement向佔位符中設定值,

2.自動進行java型別和jdbc型別轉換,

3.#{ }可以有效防止sql注入。

4.#{ }可以接收簡單型別值或pojo屬性值。

5.如果parameterType傳輸單個簡單型別值,#{ }括號中可以是value或其它名稱。

 
 
 

${ } 表示拼接sql串

1.${ }可以將parameterType 傳入的內容拼接在sql中

2.不進行jdbc型別轉換,

3.${ }可以接收簡單型別值或pojo屬性值,

4.如果parameterType傳輸單個簡單型別值,${ }括號中只能是value。