mybatis中$和#的區別是什么
3 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
#{} 在預編譯的時候是占位符?可以防止SQL注入, 比如sql語句 select * from table where id=20 編譯后是select * from table where id=?這樣別人sql注入就不生效,后面查詢的時候直接查詢這個,提升查詢效率。
${} 在預編譯的時候直接將參數賦值到sql中, select * from table where id=2 實實在在的參數,編譯后select * from table where id=2就是這樣,這個2直接就賦值了,,如果其他人傳值為‘’2,wwc=3‘’就sql注入了。每次都要去編譯,浪費時間。
添加回答
舉報
0/150
提交
取消