本篇文章給大家介紹一下sql中#與$的區別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
在這里用到了#{},使用#時:
1、用來傳入參數,sql在解析的時候會加上“”,當成字符串來解析 ,如這里 role_id = “roleid”;
2、#{}能夠很大程度上防止sql注入;
延伸:
1、用傳入數據直接顯示在生成的sql中,如上面的語句,用roleid=傳入數據直接顯示在生成的sql中,如上面的語句,用roleid={roleId,jdbcType=INTEGER},那么sql在解析的時候值為roleId = roleId,執行時會報錯;
2、${}方式無法防止sql注入;
3、$一般用入傳入數據庫對象,比如數據庫表名;
4、能用#{}時盡量用#{};
注意:
mybaties排序時使用order by 動態參數時需要注意,使用${}而不用#{};
相關推薦:《mysql教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END