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

MyBatis XML 映射文件中的 SQL 語句可以分為動(dòng)態(tài)語句和靜態(tài)語句

這篇具有很好參考價(jià)值的文章主要介紹了MyBatis XML 映射文件中的 SQL 語句可以分為動(dòng)態(tài)語句和靜態(tài)語句。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

靜態(tài)查詢:

動(dòng)態(tài)查詢:

靜態(tài)更新:

動(dòng)態(tài)更新:

靜態(tài)刪除:

動(dòng)態(tài)刪除:

動(dòng)態(tài)語句和靜態(tài)語句在 MyBatis 中的作用如下:


靜態(tài)查詢:

靜態(tài)查詢是指在 SQL 語句中執(zhí)行固定的查詢操作,查詢的條件和內(nèi)容是預(yù)先確定的,不會(huì)隨著用戶輸入或其他條件的改變而改變。以下是一個(gè)靜態(tài)查詢的示例:

<select id="selectUsersByRole" resultType="com.example.goods_admin.entity.User">
  SELECT * FROM user
  WHERE name= 'admin'
</select>

在上述的例子中,查詢語句中的條件 name= 'admin' 是固定的,無論用戶輸入什么內(nèi)容,都會(huì)查詢出 "name" 字段等于 "admin" 的用戶信息。

動(dòng)態(tài)查詢:

動(dòng)態(tài)查詢是指在 SQL 語句中根據(jù)用戶輸入或其他條件改變查詢的操作。查詢的條件和內(nèi)容是根據(jù)用戶的輸入或其他條件動(dòng)態(tài)生成的。以下是一個(gè)動(dòng)態(tài)查詢的示例:?

    <select id="seleteUser" resultType="com.example.goods_admin.entity.User">
        select * from user
            <where>
                <if test="keyWord !=null and keyWord!=''">
                    userName like concat('%', #{keyWord}, '%')
                </if>
            </where>

    </select>

在這個(gè)示例中,查詢語句根據(jù)用戶輸入的關(guān)鍵字來動(dòng)態(tài)生成查詢條件。如果用戶輸入了關(guān)鍵字,那么將會(huì)根據(jù)userName進(jìn)行模糊匹配查詢。

靜態(tài)更新:

靜態(tài)更新是指在 SQL 語句中執(zhí)行固定的更新操作,更新的內(nèi)容和條件是預(yù)先確定的,不會(huì)隨著用戶輸入或其他條件的改變而改變。以下是一個(gè)靜態(tài)更新的示例:

<update id="updateUserStatus" parameterType="com.example.goods_admin.entity.User">
  UPDATE user
  SET status = 'active'
  WHERE id = #{id}
</update>

在上述的例子中,更新語句中的條件 id = #{id} 是固定的,無論用戶輸入什么內(nèi)容,都會(huì)更新 "id" 字段等于給定參數(shù) "id" 的用戶狀態(tài)為 "active"。

動(dòng)態(tài)更新:

動(dòng)態(tài)更新是指在 SQL 語句中根據(jù)用戶輸入或其他條件改變更新的操作。更新的內(nèi)容和條件是根據(jù)用戶的輸入或其他條件動(dòng)態(tài)生成的。以下是一個(gè)動(dòng)態(tài)更新的示例:

<update id="updateUser" parameterType="com.example.goods_admin.entity.User">
  UPDATE user
  <set>
    <if test="username != null">
      username = #{username},
    </if>
    <if test="email != null">
      email = #{email},
    </if>
  </set>
  WHERE id = #{id}
</update>

在這個(gè)示例中,更新語句根據(jù)用戶輸入的用戶名和郵箱來動(dòng)態(tài)生成更新內(nèi)容,同時(shí)根據(jù)給定參數(shù) "id" 來確定更新的條件。

靜態(tài)刪除:

靜態(tài)刪除是指在 SQL 語句中執(zhí)行固定的刪除操作,刪除的條件是預(yù)先確定的,不會(huì)隨著用戶輸入或其他條件的改變而改變。以下是一個(gè)靜態(tài)刪除的示例:

<delete id="deleteUserById" parameterType="java.lang.Integer">
  DELETE FROM user
  WHERE id = #{id}
</delete>

在上述的例子中,刪除語句中的條件 id = #{id} 是固定的,無論用戶輸入什么內(nèi)容,都會(huì)刪除 "id" 字段等于給定參數(shù) "id" 的用戶。

動(dòng)態(tài)刪除:

動(dòng)態(tài)刪除是指在 SQL 語句中根據(jù)用戶輸入或其他條件改變刪除的操作。刪除的條件是根據(jù)用戶的輸入或其他條件動(dòng)態(tài)生成的。以下是一個(gè)動(dòng)態(tài)刪除的示例:

<delete id="deleteUser" parameterType="com.example.goods_admin.entity.User">
  DELETE FROM user
  WHERE 1=1
  <if test="username != null">
    AND username = #{username}
  </if>
  <if test="email != null">
    AND email = #{email}
  </if>
</delete>

在這個(gè)示例中,刪除語句根據(jù)用戶輸入的用戶名和郵箱來動(dòng)態(tài)生成刪除條件。

動(dòng)態(tài)語句和靜態(tài)語句在 MyBatis 中的作用如下:

  1. 靜態(tài)語句:

    • 靜態(tài)語句是指在 SQL 語句中執(zhí)行固定的操作,不會(huì)隨著用戶輸入或其他條件的改變而改變。
    • 靜態(tài)語句適用于那些更新、插入或刪除的操作,在這些操作中,更新內(nèi)容和條件是預(yù)先確定的。
    • 靜態(tài)語句可以通過 MyBatis XML 映射文件來定義,將 SQL 語句與 Java 代碼進(jìn)行分離,提高了代碼的可維護(hù)性。
    • 靜態(tài)語句在執(zhí)行過程中可以利用 MyBatis 的參數(shù)映射功能,將 Java 對象的屬性值映射到 SQL 語句中的占位符上。
  2. 動(dòng)態(tài)語句:

    • 動(dòng)態(tài)語句是根據(jù)用戶輸入或其他條件改變進(jìn)行的操作,更新內(nèi)容和條件是根據(jù)動(dòng)態(tài)生成的。
    • 動(dòng)態(tài)語句適用于那些需要根據(jù)不同情況執(zhí)行不同操作的場景,例如根據(jù)用戶的搜索條件動(dòng)態(tài)生成查詢語句。
    • 動(dòng)態(tài)語句可以通過 MyBatis XML 映射文件中的條件判斷和循環(huán)等標(biāo)簽來實(shí)現(xiàn),根據(jù)不同條件動(dòng)態(tài)生成 SQL 語句的不同部分。
    • 動(dòng)態(tài)語句可以使 SQL 語句更加靈活,根據(jù)不同的條件在運(yùn)行時(shí)動(dòng)態(tài)生成最終的 SQL 語句,提高了系統(tǒng)的可擴(kuò)展性和適應(yīng)性。

總結(jié)起來,靜態(tài)語句適用于固定的操作,而動(dòng)態(tài)語句適用于根據(jù)不同條件進(jìn)行動(dòng)態(tài)生成 SQL 語句的操作。通過使用靜態(tài)語句和動(dòng)態(tài)語句,可以使數(shù)據(jù)庫操作更加靈活和可維護(hù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-801406.html

到了這里,關(guān)于MyBatis XML 映射文件中的 SQL 語句可以分為動(dòng)態(tài)語句和靜態(tài)語句的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Spring 篇】深入探討MyBatis映射文件中的動(dòng)態(tài)SQL

    【Spring 篇】深入探討MyBatis映射文件中的動(dòng)態(tài)SQL

    MyBatis,這個(gè)名字在Java開發(fā)者的世界中猶如一道光芒,照亮著持久層操作的道路。而在MyBatis的映射文件中,動(dòng)態(tài)SQL則是一個(gè)讓人愛-hate的存在。有時(shí)候,你感嘆它的靈活性,有時(shí)候,你可能會(huì)為它的繁瑣而頭痛。但別擔(dān)心,我們將在本文中一起揭開動(dòng)態(tài)SQL的神秘面紗,帶你領(lǐng)

    2024年01月24日
    瀏覽(36)
  • MyBatis XML 映射文件

    MyBatis 的 XML 映射文件包含以下幾個(gè)部分: mapper 元素:定義了 XML 映射文件的根元素,其中包含了命名空間和 SQL 語句等信息。 select 、 insert 、 update 、 delete 元素:分別用于定義查詢、插入、更新、刪除操作的 SQL 語句。 resultMap 元素:用于定義結(jié)果集的映射關(guān)系。 parameterM

    2024年02月08日
    瀏覽(34)
  • 【Mybatis】XML映射文件

    【Mybatis】XML映射文件

    目錄 ?11.3XML映射文件 ????????1.select ?????????2.insert、update、delete ????????3.Sql? ????????4.parameters(參數(shù))? ????????5.resultMap ????????6.resultMap 使用示例? ????????(1)在先前創(chuàng)建的數(shù)據(jù)庫stu中創(chuàng)建表student 2,并插入若干條數(shù)據(jù),代碼如下: ??????

    2024年02月14日
    瀏覽(25)
  • MyBatis的XML映射文件

    MyBatis的XML映射文件

    目錄 2.1 XML配置文件規(guī)范 在Mybatis中使用XML映射文件方式開發(fā),需要符合一定的規(guī)范 - XML映射文件定義規(guī)范: 2.2 XML配置文件實(shí)現(xiàn) 第1步:創(chuàng)建XML映射文件 第2步:編寫XML映射文件 2.3 MybatisX的使用 總結(jié): Mybatis的開發(fā)有兩種方式: 注解 XML配置文件 通過XML配置文件的形式來配置

    2024年02月13日
    瀏覽(19)
  • MyBatis-XML映射文件

    MyBatis-XML映射文件

    規(guī)范 XML映射文件的名稱與Mapper接口名稱一致(EmpMapper對應(yīng)EmpMpper.xml),并且將XML映射文件和Mapper接口放置在相同包下(同包同名) ??? 在maven項(xiàng)目結(jié)構(gòu)中所有的配置文件都在resources目錄之下,因此要在該目錄下創(chuàng)建Mapper接口相同的文件目錄,注意在創(chuàng)建目錄時(shí)要使用 / 來

    2024年02月13日
    瀏覽(35)
  • MyBatis的使用(XML映射文件)

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

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

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

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

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

    2024年02月09日
    瀏覽(21)
  • 解決IntelliJ IDEA在Mybatis 編寫mapper.xml SQL語句時(shí)不自動(dòng)提示SQL語句和數(shù)據(jù)庫表的問題

    解決IntelliJ IDEA在Mybatis 編寫mapper.xml SQL語句時(shí)不自動(dòng)提示SQL語句和數(shù)據(jù)庫表的問題

    在Idea中鏈接數(shù)據(jù)庫后,發(fā)現(xiàn)在MySql 的console中有SQL語句提示和數(shù)據(jù)表的提示,但是在編寫mapper.xml中發(fā)現(xiàn)并沒有提示,很煩,覺得效率下降。 在百度搜索后,發(fā)現(xiàn)了解決方法,出現(xiàn)了SQL語句的提示. 解決辦法: 按下alt + enter,選擇Language injection settings 然后選擇SQL即可,但是這種

    2024年02月16日
    瀏覽(28)
  • mapper.xml中循環(huán)執(zhí)行多條語句時(shí)報(bào)錯(cuò),但是單獨(dú)拿SQL到數(shù)據(jù)庫卻可以執(zhí)行

    mapper.xml中循環(huán)執(zhí)行多條語句時(shí)報(bào)錯(cuò),但是單獨(dú)拿SQL到數(shù)據(jù)庫卻可以執(zhí)行

    我是批量修改數(shù)據(jù),用foreach標(biāo)簽包住update語句,報(bào)錯(cuò)信息如下: 最后解決,在數(shù)據(jù)源配置中添加參數(shù):

    2024年02月12日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包