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

MyBatis中#{}和${}有哪些區(qū)別

 更新時間:2021年12月07日 10:16:05   作者:嫣紅姹梓  
大家好,本篇文章主要講的是MyBatis中#{}和${}區(qū)別,感興趣的同學(xué)趕快來看一看,對你有幫助的話記得收藏一下,方向下次瀏覽

前言

在MyBatis 的映射配置文件中,動態(tài)傳遞參數(shù)有兩種方式:

1、#{} 占位符

2、${} 拼接符

#{} 和 ${} 的區(qū)別

區(qū)別1

#{} 為參數(shù)占位符 ?,即sql 預(yù)編譯

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

區(qū)別2、

#{}:動態(tài)解析 -> 預(yù)編譯 -> 執(zhí)行

${}:動態(tài)解析 -> 編譯 -> 執(zhí)行

區(qū)別 3、

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

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

區(qū)別 4、

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

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

區(qū)別 5、

#{} 能防止sql 注入

${} 不能防止sql 注入

#{} 和 ${} 的實例:假設(shè)傳入?yún)?shù)為 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'

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

單個參數(shù)的情形

#{}

在這里插入圖片描述

${}

在這里插入圖片描述
在這里插入圖片描述

多個參數(shù)的情形 #{}

在這里插入圖片描述
在這里插入圖片描述

${}

在這里插入圖片描述
在這里插入圖片描述

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

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

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

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

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

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

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

總結(jié)

到此這篇關(guān)于MyBatis中#{}和${}有哪些區(qū)別的文章就介紹到這了,更多相關(guān)MyBatis中#{}和${}區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot + Spring Security 基本使用及個性化登錄配置詳解

    SpringBoot + Spring Security 基本使用及個性化登錄配置詳解

    這篇文章主要介紹了SpringBoot + Spring Security 基本使用及個性化登錄配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java文件流關(guān)閉和垃圾回收機制

    Java文件流關(guān)閉和垃圾回收機制

    本文是關(guān)于Java IO文件流和垃圾回收問題,一個小的測試程序搞清楚Java IO的問題,希望能幫助有需要的小伙伴
    2016-07-07
  • swing jtextArea滾動條和文字縮放效果

    swing jtextArea滾動條和文字縮放效果

    這篇文章主要為大家詳細介紹了swing jtextArea滾動條和文字縮放效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 一文搞懂Java中的線程安全與線程同步

    一文搞懂Java中的線程安全與線程同步

    線程安全指在被多個線程訪問時,程序可以持續(xù)進行正確的處理。線程同步是指程序中用于控制不同線程間操作發(fā)生相對順序的機制。本文將通過示例詳細為大家講講二者的使用,需要的可以參考一下
    2022-06-06
  • Springboot使用@Aspect、自定義注解記錄日志方式

    Springboot使用@Aspect、自定義注解記錄日志方式

    本文介紹了如何使用AOP技術(shù)進行日志記錄,包括掃描包和自定義注解兩種方式,掃描包方式通過添加依賴和配置切入點表達式實現(xiàn),自定義注解方式則通過創(chuàng)建自定義注解和AOP切面類來實現(xiàn)方法執(zhí)行時間的統(tǒng)計和記錄
    2024-11-11
  • Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實例代碼

    Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實例代碼

    這篇文章主要介紹了Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實例代碼,涉及使用辛普森積分的例子,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • Java ThreadLocal的使用詳解

    Java ThreadLocal的使用詳解

    ThreadLocal是線程私有的局部變量存儲容器,可以理解成每個線程都有自己專屬的存儲容器,用來存儲線程私有變量。ThreadLocal 在日常開發(fā)框架中應(yīng)用廣泛,但用不好也會出現(xiàn)各種問題,本文就此講解一下。
    2021-05-05
  • SpringBoot自動裝配Import示例詳解

    SpringBoot自動裝配Import示例詳解

    SpringBoot中@Import注解的使用可以幫助開發(fā)者將指定的Bean或配置類導(dǎo)入到IOC容器中,該注解支持四種用法:導(dǎo)入Bean、導(dǎo)入配置類、實現(xiàn)ImportSelector接口和實現(xiàn),感興趣的朋友一起看看吧
    2024-09-09
  • java通過信號量實現(xiàn)限流的示例

    java通過信號量實現(xiàn)限流的示例

    本文主要介紹了java通過信號量實現(xiàn)限流的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 深入聊一聊springboot項目全局異常處理那些事兒

    深入聊一聊springboot項目全局異常處理那些事兒

    最近在做項目時需要對異常進行全局統(tǒng)一處理,所以下面這篇文章主要給大家介紹了關(guān)于springboot項目全局異常處理那些事兒,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01

最新評論

江永县| 曲靖市| 体育| 崇信县| 吉安县| 乌鲁木齐市| 甘孜| 固始县| 河津市| 巴林左旗| 明光市| 胶南市| 西峡县| 安仁县| 琼海市| 大余县| 南陵县| 麻城市| 富裕县| 长汀县| 江油市| 靖安县| 金秀| 老河口市| 溆浦县| 长兴县| 恭城| 松原市| 上林县| 临泽县| 梁平县| 沛县| 泗水县| 临邑县| 广水市| 克什克腾旗| 永清县| 嘉荫县| 天门市| 锦州市| 岳池县|