中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis中的#{}和${}有什么區別

發布時間:2021-12-07 11:33:36 來源:億速云 閱讀:188 作者:小新 欄目:開發技術

這篇文章主要介紹了MyBatis中的#{}和${}有什么區別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    前言

    在MyBatis 的映射配置文件中,動態傳遞參數有兩種方式:

    1、#{} 占位符

    2、${} 拼接符

    #{} 和 ${} 的區別

    區別1

    #{} 為參數占位符 ?,即sql 預編譯

    ${} 為字符串替換,即 sql 拼接

    區別2、

    #{}:動態解析 -> 預編譯 -> 執行

    ${}:動態解析 -> 編譯 -> 執行

    區別 3、

    #{} 的變量替換是在DBMS 中

    ${} 的變量替換是在 DBMS 外

    區別 4、

    變量替換后,#{} 對應的變量自動加上單引號''

    變量替換后,${} 對應的變量不會加上單引號 ''

    區別 5、

    #{} 能防止sql 注入

    ${} 不能防止sql 注入

    #{} 和 ${} 的實例:假設傳入參數為 1

    實例步驟一

    #{}:select * from t_user where uid=#{uid}
    
    ${}:select * from t_user where uid= '${uid}'

    實例步驟二

    #{}:select * from t_user where uid= ?
    
    ${}:select * from t_user where uid= '1'

    實例步驟三

    #{}:select * from t_user where uid= '1'
    
    ${}:select * from t_user where uid= '1'

    #{} 和 ${} 的大括號中的值

    單個參數的情形

    #{}

    MyBatis中的#{}和${}有什么區別

    ${}

    MyBatis中的#{}和${}有什么區別
    MyBatis中的#{}和${}有什么區別

    多個參數的情形 #{}

    MyBatis中的#{}和${}有什么區別
    MyBatis中的#{}和${}有什么區別

    ${}

    MyBatis中的#{}和${}有什么區別
    MyBatis中的#{}和${}有什么區別

    #{} 和 ${} 在使用中的技巧和建議

    1、不論是單個參數,還是多個參數,一律都建議使用注解@Param("")

    2、 能用 #{} 的地方就用 #{},不用或少用${}

    3、表名作參數時,必須用${}。如:select * from ${tableName}

    4、order by 時,必須用 ${}。如:select * from t_user order by ${columnName}

    5、表名處用#{}會直接報錯;order by后面用#{}排序不生效

    6、使用 ${} 時,要注意何時加或不加單引號,即${} 和 '${}'。一般字段類型為char或者varchar時需要加單引號

    感謝你能夠認真閱讀完這篇文章,希望小編分享的“MyBatis中的#{}和${}有什么區別”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    鞍山市| 于都县| 民县| 太谷县| 临漳县| 呼伦贝尔市| 靖安县| 中超| 隆子县| 广州市| 尚义县| 临漳县| 四会市| 北安市| 冕宁县| 禹州市| 墨江| 抚顺市| 铁力市| 安龙县| 沿河| 安吉县| 田林县| 惠东县| 郑州市| 南京市| 正蓝旗| 牙克石市| 隆化县| 景洪市| 荥阳市| 唐山市| 布尔津县| 琼海市| 博湖县| 湘潭市| 新巴尔虎右旗| 九台市| 威信县| 怀仁县| 乐清市|