国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

系列五、映射文件xxxMapper.xml

這篇具有很好參考價值的文章主要介紹了系列五、映射文件xxxMapper.xml。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、概述

mapper映射文件是mybatis中最重要的部分,涉及到的細節(jié)也非常多。

1.1、parameterType

表示輸入?yún)?shù)的類型。例如:

<select id="getUserById" parameterType="integer" resultType="org.star.entity.model.UserDO">
	select id,username,address from `user` where id = #{id}
</select>

二、$ vs #

2.1、概述

mybatis中,當我們在xxxMapper.xml中引用變量時,默認使用的是 # ,如上所示,但是除了 # 之外,我們也可以使用 $ 來應用變量,如下所示:

<select id="getUserById" parameterType="integer" resultType="org.star.entity.model.UserDO">
?? ?select id,username,address from `user` where id = ${id}
</select>

????????在舊版本的MyBatis中,如果使用$來引用一個變量,那么這個變量需要通過@Param取別名,但是在新版本的MyBatis中,無論是 $ 還是 #,如果只有一個參數(shù),可以不用取別名,如下所示:

public interface UserMapper {

? ? /**
? ? ?* 根據(jù)id查詢用戶
? ? ?* @param id
? ? ?* @return
? ? ?*/
? ? UserDO getUserById(Integer id);

}

2.2、區(qū)別

2.2.1、使用 $ 打印的日志

系列五、映射文件xxxMapper.xml,MyBatis系列,xml,java,開發(fā)語言

2.2.2、使用 # 打印的日志

系列五、映射文件xxxMapper.xml,MyBatis系列,xml,java,開發(fā)語言

????????通過觀察兩者打印的日志信息,可以很明顯的看到 $引用的變量,在執(zhí)行時SQL直接拼接好了,沒有參數(shù)。而 # 引用的變量,使用了預編譯的方式。在傳統(tǒng)的jdbc調用中,sql的執(zhí)行,我們可以通過字符串拼接或者占位符的方式來解決參數(shù)傳遞問題。在mybatis中當然也支持,在mybatis中,$傳遞的參數(shù)相當于jdbc中的字符串拼接,而#則相當于jdbc中的占位符。

2.3、如何選擇

? ? ? ? 一般來說,由于參數(shù)拼接的方式存在sql注入的風險,因此日常開發(fā)中我們大多使用#的方式進行傳值,但是在一些特殊的場景下,又不得不使用這種方式。有的sql拼接實際上可以通過數(shù)據(jù)庫函數(shù)的方式來解決,例如模糊查詢,代碼如下:

<select id="getUserByUsername" parameterType="string" resultType="org.star.entity.model.UserDO">
?? ?select id,username,address from `user` where username like concat('%',#{username},'%')
</select>

但是有的sql無法使用#來拼接,例如傳遞一個動態(tài)字段進來,假設我想查詢所有的數(shù)據(jù),需要排序查詢,但是排序的字段不確定,需要通過參數(shù)傳入,這種場景下就只能使用$來解決了,例如有如下方法

List<UserDO> listAllUser(String search);文章來源地址http://www.zghlxwxcb.cn/news/detail-740502.html

到了這里,關于系列五、映射文件xxxMapper.xml的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • MyBatis的使用(XML映射文件)

    MyBatis基于注解開發(fā)簡單便捷,但是弊端是失去SQL語句的靈活性,不能根據(jù)實際情況產生不同的SQL語句 MyBatis除了支持注解開發(fā)以外,還支持一種開發(fā)方式:XML映射文件,將SQL語句寫到XML映射文件中,基于更多種的選擇可以讓SQL變得更加靈活 1.開發(fā)方式 1.和基于注解開發(fā)方式一

    2024年02月08日
    瀏覽(26)
  • mybatis(mybatis-plus)映射文件(XML文件)中特殊字符轉義

    XML 文件在解析時會將五種特殊字符進行轉義,當不希望語法被轉義時,就需要進行特別處理,參考HTML字符轉義規(guī)范Myabtis 中五個特殊字符 原始符號 符號含義 大于 小于 and \\\" 英文雙引號 ’ 英文單引號 原始符號 轉義字符 gt lt amp \\\" quot ’ apos

    2024年02月10日
    瀏覽(35)
  • MyBatis Plus Mapper.xml映射文件常用標簽<if>、<foreach>、#{}、${}等

    一、判斷 Integer、Long?等常數(shù)類參數(shù) 注意:判斷常數(shù)類參數(shù),只能判斷 != null,不能判斷 != \\\'\\\'?否則判斷不會生效 二、判斷 String?字符串類參數(shù) 注意:判斷字符串類參數(shù)可以判斷?!= \\\'\\\' 三、判斷參數(shù)值與指定的值,是否相等或不相等 注意: 1、判斷 Integer、Long?等常數(shù)類型等于

    2024年02月09日
    瀏覽(21)
  • MyBatis XML 映射文件中的 SQL 語句可以分為動態(tài)語句和靜態(tài)語句

    目錄 靜態(tài)查詢: 動態(tài)查詢: 靜態(tài)更新: 動態(tài)更新: 靜態(tài)刪除: 動態(tài)刪除: 動態(tài)語句和靜態(tài)語句在 MyBatis 中的作用如下: 靜態(tài)查詢: 靜態(tài)查詢是指在 SQL 語句中執(zhí)行固定的查詢操作,查詢的條件和內容是預先確定的,不會隨著用戶輸入或其他條件的改變而改變。以下是一

    2024年01月18日
    瀏覽(35)
  • Spring Boot入門(10):Mybatis之XML映射文件>、<=等特殊符號使用 | 保姆級教程

    Spring Boot入門(10):Mybatis之XML映射文件>、<=等特殊符號使用 | 保姆級教程

    ? ? ? ? 在Mybatis的XML映射文件中,我們經常需要使用一些特殊符號來完成SQL語句的拼接,比如小于號“”、小于等于號“=”等。然而,由于這些符號在XML中有特殊的含義,因此直接在映射文件中使用可能會導致編譯錯誤或者運行時異常。那么,如何才能正確地使用這些特殊

    2024年02月11日
    瀏覽(38)
  • Spring Boot入門(10):Mybatis之XML映射文件中如何使用特殊符號?揭秘<、<=等符號的正確使用方法!

    Spring Boot入門(10):Mybatis之XML映射文件中如何使用特殊符號?揭秘<、<=等符號的正確使用方法!

    ? ? ? ? 在Mybatis的XML映射文件中,我們經常需要使用一些特殊符號來完成SQL語句的拼接,比如小于號“”、小于等于號“=”等。然而,由于這些符號在XML中有特殊的含義,因此直接在映射文件中使用可能會導致編譯錯誤或者運行時異常。那么,如何才能正確地使用這些特殊

    2024年02月09日
    瀏覽(33)
  • 系列四、全局配置文件mybatis-config.xml

    系列四、全局配置文件mybatis-config.xml

    mybatis全局配置中的文件非常多,主要有如下幾個:? properties(屬性) settings(全局配置參數(shù)) typeAliases(類型別名) typeHandlers(類型處理器) objectFactory(對象工廠) plugins(插件) environments(環(huán)境集合屬性對象) environment(環(huán)境集合屬性子對象) transactionManager(事務管理

    2024年02月06日
    瀏覽(30)
  • MyBatis XML映射處理CLOB和BLOB類型

    Mybatis的MapperXML映射文件應該處理數(shù)據(jù)庫字段類型為CLOB和BLOB類型的數(shù)據(jù)呢?首先我們先看下CLOB和BLOB這兩種數(shù)據(jù)類型的介紹。 使用Mybatis時涉及到兩種特殊類型的處理,分別是Blob(Binary Large Object)和Clob(Character Large Object)。Blob表示二進制大對象字段,而Clob則表示大字符對象

    2024年02月12日
    瀏覽(13)
  • springboot+maven插件調用mybatis generator自動生成對應的mybatis.xml文件和java類

    springboot+maven插件調用mybatis generator自動生成對應的mybatis.xml文件和java類

    mybatis最繁瑣的事就是sql語句和實體類,sql語句寫在java文件里很難看,字段多的表一開始寫感覺阻力很大,沒有耐心,自動生成便成了最稱心的做法。自動生成xml文件,dao接口,實體類,雖一直感覺不太優(yōu)雅,但省去了很多麻煩,當表增加或修改字段的時候重新生成便輕松搞

    2024年02月14日
    瀏覽(25)
  • Mybatis之簡介、使用操作(安裝、XML、SqlSession、映射的SQL語句、命名空間、作用域和生命周期)

    學習的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學習某技術知識點… 一個人摸索學習很難堅持,想組團高效學習… 想寫博客但無從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包