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

MyBatis CRUD 常用動(dòng)態(tài) SQL 標(biāo)簽整理

 更新時(shí)間:2026年02月13日 09:31:52   作者:Johnny Lnex  
本文介紹了MyBatis中常用的動(dòng)態(tài)SQL標(biāo)簽及其用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文整理了 MyBatis 中進(jìn)行 CRUD 操作時(shí)常用的動(dòng)態(tài) SQL 標(biāo)簽及其使用方式,適合初學(xué)者查閱和實(shí)踐。

1.<if>:條件判斷

用于在滿足條件時(shí)拼接 SQL 片段。

<select id="selectUser" parameterType="map" resultType="User">
  SELECT * FROM user
  <where>
    <if test="name != null and name != ''">
      name = #{name}
    </if>
    <if test="age != null">
      AND age = #{age}
    </if>
  </where>
</select>

test 是唯一屬性,使用 OGNL 表達(dá)式判斷變量是否存在或滿足條件。

2.<choose> / <when> / <otherwise>:類似 switch-case

用于多分支選擇。

<select id="getUser" parameterType="map" resultType="User">
  SELECT * FROM user
  <where>
    <choose>
      <when test="id != null">
        id = #{id}
      </when>
      <when test="name != null">
        name = #{name}
      </when>
      <otherwise>
        1 = 1
      </otherwise>
    </choose>
  </where>
</select>

3.<where>:自動(dòng)處理WHERE和AND

自動(dòng)去掉首個(gè) ANDOR,并在需要時(shí)自動(dòng)加上 WHERE。

<where>
  <if test="name != null">name = #{name}</if>
  <if test="age != null">AND age = #{age}</if>
</where>

4.<set>:用于UPDATE自動(dòng)拼接字段

會(huì)自動(dòng)去除最后一個(gè)逗號(hào),并加上 SET。

<update id="updateUser" parameterType="User">
  UPDATE user
  <set>
    <if test="name != null">name = #{name},</if>
    <if test="age != null">age = #{age},</if>
  </set>
  WHERE id = #{id}
</update>

5.<foreach>:用于批量操作(插入、刪除、IN)

批量插入:

<insert id="batchInsert" parameterType="list">
  INSERT INTO user (name, age) VALUES
  <foreach collection="list" item="user" separator=",">
    (#{user.name}, #{user.age})
  </foreach>
</insert>

IN查詢:

<select id="selectByIds" parameterType="list" resultType="User">
  SELECT * FROM user WHERE id IN
  <foreach collection="list" item="id" open="(" separator="," close=")">
    #{id}
  </foreach>
</select>

6.<trim>:自定義修剪邏輯(替代<set>/<where>)

用于去除開頭或結(jié)尾的多余 SQL 關(guān)鍵詞。

<update id="updateUser" parameterType="User">
  UPDATE user
  <trim prefix="SET" suffixOverrides=",">
    <if test="name != null">name = #{name},</if>
    <if test="age != null">age = #{age},</if>
  </trim>
  WHERE id = #{id}
</update>

到此這篇關(guān)于MyBatis CRUD 常用動(dòng)態(tài) SQL 標(biāo)簽整理的文章就介紹到這了,更多相關(guān)MyBatis CRUD 動(dòng)態(tài) SQL 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?線程池狀態(tài)及狀態(tài)轉(zhuǎn)換

    java?線程池狀態(tài)及狀態(tài)轉(zhuǎn)換

    這篇文章主要介紹了java?線程池狀態(tài)及狀態(tài)轉(zhuǎn)換,Java里線程池的狀態(tài)和線程的狀態(tài)是完全不同的,具體有幾種狀態(tài)和哪些不同點(diǎn),下面文章詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-05-05
  • java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決

    java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤解決

    這篇文章主要給大家介紹了關(guān)于java.lang.UnsatisfiedLinkError: %1 不是有效的Win32應(yīng)用程序錯(cuò)誤的解決方法,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-03-03
  • Java中new Date().getTime()時(shí)間戳使用詳解

    Java中new Date().getTime()時(shí)間戳使用詳解

    文章解釋了Java和JavaScript中Date對(duì)象的`getTime()`方法返回的是從特定時(shí)區(qū)(1.UTC)起至當(dāng)前時(shí)間的總毫秒數(shù),強(qiáng)調(diào)與程序?qū)嶋H運(yùn)行的時(shí)區(qū)無關(guān),都是從UTC時(shí)間起計(jì)算,強(qiáng)調(diào)文章最后強(qiáng)調(diào)了個(gè)人觀點(diǎn),并鼓勵(lì)大家多多支持腳本之家
    2026-04-04
  • SpringBoot對(duì)敏感數(shù)據(jù)進(jìn)行脫敏的全過程

    SpringBoot對(duì)敏感數(shù)據(jù)進(jìn)行脫敏的全過程

    在項(xiàng)目開發(fā)中,數(shù)據(jù)庫經(jīng)常會(huì)存儲(chǔ)大量用戶敏感信息,例如手機(jī)號(hào)、身份證號(hào)、郵箱、銀行卡號(hào)、家庭地址、姓名等數(shù)據(jù),如果后端直接把原始數(shù)據(jù)返回給前端,會(huì)造成嚴(yán)重的用戶隱私泄露問題,所以本文給大家介紹了SpringBoot對(duì)敏感數(shù)據(jù)進(jìn)行脫敏的全過程,需要的朋友可以參考下
    2026-04-04
  • spring?IOC容器的Bean管理XML自動(dòng)裝配過程

    spring?IOC容器的Bean管理XML自動(dòng)裝配過程

    這篇文章主要為大家介紹了spring?IOC容器Bean管理基于XML的自動(dòng)裝配過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • springboot Mongodb的集成與使用實(shí)例詳解

    springboot Mongodb的集成與使用實(shí)例詳解

    這篇文章主要介紹了springboot Mongodb的集成與使用實(shí)例詳解,需要的朋友可以參考下
    2018-04-04
  • hibernate 配置數(shù)據(jù)庫方言的實(shí)現(xiàn)方法

    hibernate 配置數(shù)據(jù)庫方言的實(shí)現(xiàn)方法

    這篇文章主要介紹了hibernate 配置數(shù)據(jù)庫方言的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java異常簡(jiǎn)介和架構(gòu)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java異常簡(jiǎn)介和架構(gòu)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要分享了Java異常簡(jiǎn)介和架構(gòu),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • MyBatis 中 ${}和 #{}的正確使用方法(千萬不要亂用)

    MyBatis 中 ${}和 #{}的正確使用方法(千萬不要亂用)

    這篇文章主要介紹了MyBatis 中 ${}和 #{}的正確使用方法,本文給大家提到了MyBatis 中 ${}和 #{}的區(qū)別,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java內(nèi)存分配多種情況的用法解析

    Java內(nèi)存分配多種情況的用法解析

    這篇文章主要介紹了Java內(nèi)存分配多種情況的用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

金山区| 华容县| 简阳市| 淮滨县| 象山县| 恩平市| 达州市| 久治县| 凤翔县| 吉木乃县| 新昌县| 福建省| 莒南县| 绍兴市| 苏尼特右旗| 霍邱县| 涿鹿县| 南木林县| 清镇市| 上饶县| 黑龙江省| 林西县| 岚皋县| 米易县| 扶沟县| 门源| 宜章县| 澳门| 天气| 聂拉木县| 句容市| 葵青区| 滁州市| 盐池县| 宜黄县| 乐业县| 囊谦县| 嘉义县| 讷河市| 绥化市| 盈江县|