sql中#與$有什么區別

本篇文章給大家介紹一下sql中#與$的區別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

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
喜歡就支持一下吧
點贊9 分享