最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說明

 更新時間:2020年10月10日 08:36:31   作者:代碼科學(xué)  
這篇文章主要介紹了在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

#將傳入的數(shù)據(jù)都當(dāng)成一個字符串,會對傳入的數(shù)據(jù)自動加上引號;

$將傳入的數(shù)據(jù)直接顯示生成在SQL中

注意:使用 $ 占位符可能會導(dǎo)致SQL注入攻擊,能用#的地方就不要使用 $

寫order by 子句的時候應(yīng)該用 $ 而不是#

補充知識:mybatis 中生成的字段不帶引號 #{}和${}

最近在用mybatis,之前用過ibatis,總體來說差不多,不過還是遇到了不少問題,再次記錄下,

比如說用#{},和 ${}傳參的區(qū)別,

使用#傳入?yún)?shù)是,sql語句解析是會加上"",比如 select * from table where name = #{name} ,傳入的name為小李,那么最后打印出來的就是

select * from table where name = ‘小李',就是會當(dāng)成字符串來解析,這樣相比于$的好處是比較明顯對的吧,#{}傳參能防止sql注入,如果你傳入的參數(shù)為 單引號',那么如果使用${},這種方式 那么是會報錯的,

另外一種場景是,如果你要做動態(tài)的排序,比如 order by column,這個時候務(wù)必要用${},因為如果你使用了#{},那么打印出來的將會是

select * from table order by 'name' ,這樣是沒用,

目前來看,能用#就不要用$,

以上這篇在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

高密市| 商南县| 贡嘎县| 惠来县| 宜城市| 库车县| 香河县| 三穗县| 远安县| 郧西县| 汝南县| 醴陵市| 廉江市| 龙海市| 澄城县| 巢湖市| 嵩明县| 太原市| 全椒县| 板桥市| 华蓥市| 星座| 汝南县| 吴忠市| 临高县| 临夏县| 彰化市| 土默特右旗| 巫山县| 白河县| 开鲁县| 嘉荫县| 鸡东县| 离岛区| 乌拉特后旗| 瓦房店市| 奉贤区| 鄂尔多斯市| 东乡县| 安泽县| 鄂伦春自治旗|