mybatis的 佔位符和 拼接符的區別

2021-09-09 02:40:13 字數 745 閱讀 3879

#{}佔位符:佔位

如果傳入的是基本型別,那麼#{}中的變數名稱可以隨意寫 

如果傳入的引數是pojo型別,那麼#{}中的變數名稱必須是pojo中的屬性.屬性.屬性…

${}拼接符:字串原樣拼接

如果傳入的是基本型別,那麼${}中的變數名必須是value

如果傳入的引數是pojo型別,那麼${}中的變數名稱必須是pojo中的屬性.屬性.屬性… 

注意:使用拼接符有可能造成sql注入

finduserbyid

" parametertype="

int" resulttype="

cn.itheima.pojo.user

">

select * from user where id=#

select>

finduserbyusername

" parametertype="

string

" resulttype="

user

">

select * from user where username like '

%$%'

select>

mybatis拼接符和佔位符的區別

佔位符 1.佔位符可以用來設定引數,如果傳進來的是基本型別,也就是 string,long,double,int,boolean,float等 那麼 裡面的變數名可以隨意寫,什麼abc,等等,這個名字和傳進來的引數名可以不一致。2.如果傳進來的是pojo型別,那麼 中的變數名必須是pojo的屬性名,...

Mybatis佔位符 與佔位符 區別

速度快,能防止sql注入,是佔位符方式,先預編譯,然後填充引數,字串格式,使用者名稱 引數只是下劃線上的內容 是直接拼接到語句上,這種方式需要自己拼括號和引數,但是也可以拼接想執行的任何語句,也就是傳說中的sql注入 詳情如下 在mybatis中使用引數進行sql拼裝經常會使用到 和 兩種引數的設定...

mybatis 之 佔位符 和

佔位符用來設定引數,引數的型別可以有3種,基本型別,自定義型別,map基本型別作為引數,引數與佔位符中的名稱無關。select from t role where id 測試 test public void testselectone 自定義型別作為引數,自定義類中需要為為屬性提供get方法,如果...