日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Mapper.xml文件中SQL新增數據的簡便寫法

作者:玉滿堂_YTM 更新時間: 2023-12-26 編程語言
<resultMap type="TbActivity" id="TbActivityResult">
        <result property="id"    column="id"    />
        <result property="name"    column="name"    />
        <result property="channel"    column="channel"    />
        <result property="info"    column="info"    />
        <result property="type"    column="type"    />
        <result property="discount"    column="discount"    />
        <result property="vouchers"    column="vouchers"    />
        <result property="status"    column="status"    />
        <result property="createTime"    column="create_time"    />
        <result property="beginTime"    column="begin_time"    />
        <result property="endTime"    column="end_time"    />
        <result property="code"    column="code"    />
    </resultMap>

<resultMap> 是 MyBatis 框架中的一個標簽,用于定義查詢結果映射的規則,將數據庫查詢結果映射到 Java 對象的屬性上。

1.<resultMap type="TbActivity" id="TbActivityResult"> 定義了一個名為 "TbActivityResult" 的結果映射。具體作用如下:

  • type="TbActivity"?指定了映射的目標類型為 TbActivity,即將查詢結果映射到 TbActivity 類型的對象上。
  • id="TbActivityResult"?指定了該結果映射的唯一標識符為 "TbActivityResult",以便在后續的查詢語句中引用。

2.?<result> 標簽用于定義每個列與屬性之間的映射關系。例如,<result property="id" column="id" /> 表示將查詢結果中的 "id" 列的值映射到 TbActivity 對象的 id 屬性上。

具體的映射規則如下:

  • <result property="屬性名" column="列名" />?表示將查詢結果中的指定列的值映射到指定屬性上。其中,"屬性名" 是 TbActivity 對象的屬性名,"列名" 是數據庫表中的列名。

通過這樣的結果映射規則,MyBatis 可以根據查詢結果中的列名和屬性名進行匹配,并將對應的值賦給對象的屬性。這樣,我們可以方便地將查詢結果轉化為 Java 對象,并進行后續的操作和處理。

<insert id="insertTbActivity" parameterType="TbActivity" useGeneratedKeys="true" keyProperty="id">
        insert into tb_activity
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">name,</if>
            <if test="channel != null">channel,</if>
            <if test="info != null and info != ''">info,</if>
            <if test="type != null">type,</if>
            <if test="discount != null">discount,</if>
            <if test="vouchers != null">vouchers,</if>
            <if test="status != null">status,</if>
            <if test="createTime != null">create_time,</if>
            <if test="beginTime != null">begin_time,</if>
            <if test="endTime != null">end_time,</if>
            <if test="code != null">code,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="name != null">#{name},</if>
            <if test="channel != null">#{channel},</if>
            <if test="info != null and info != ''">#{info},</if>
            <if test="type != null">#{type},</if>
            <if test="discount != null">#{discount},</if>
            <if test="vouchers != null">#{vouchers},</if>
            <if test="status != null">#{status},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="beginTime != null">#{beginTime},</if>
            <if test="endTime != null">#{endTime},</if>
            <if test="code != null">#{code},</if>
        </trim>
    </insert>

1.<trim prefix="(" suffix=")" suffixOverrides=","> 是 MyBatis 框架中的一個標簽,用于修整 SQL 語句中的前綴、后綴和后綴覆蓋。

2.<trim> 標簽被用于修整 INSERT 語句中列名部分的括號。具體作用如下:

  • prefix="("?指定了插入語句中列名部分的前綴為 "(",即在列名部分的最前面加上一個左括號 "("。
  • suffix=")"?指定了插入語句中列名部分的后綴為 ")",即在列名部分的最后面加上一個右括號 ")"。
  • suffixOverrides=","?指定了如果列名部分最后一個字符是逗號 ",",則將逗號刪除。這樣可以確保在最后一個列名之后不會出現多余的逗號。

例如,假設 TbActivity 對象中有三個非空屬性,對應的列名分別是 "name"、"channel" 和 "info",那么經過 <trim prefix="(" suffix=")" suffixOverrides=",">` 的修整后,列名部分的結果將是 "(name, channel, info)"。其中,列名之間用逗號分隔,并被包裹在左右括號中。

原文鏈接:https://blog.csdn.net/A2029292473/article/details/134653421

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新