Mapper.xml文件中SQL新增数据的简便写法

<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)"。其中,列名之间用逗号分隔,并被包裹在左右括号中。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉满堂_YTM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值