Mybatis 3.x 动态字段更新 if test 标签使用

可以选择性更新非空字段

if test标签介绍

 if标签可以通过判断传入的值来确定查询的条件,test指定一个OGNL表达式

 常见写法

// A code block
// An highlighted block
<if test='title != null and id == 87 '> title = #{title}, </if>
<if test="title!=null"> title = #{title}, </if>

代码:
下面展示一些 代码片

// A code block

一定要看pojo类里面的是基本数据类型(int short byte long等),还是包装数据类型(String,DOUBLE等)

// 注意驼峰字段  coverImg:pojo对象字段   cover_img: 数据库字段  
 UPDATE video
        <trim prefix="set" suffixOverrides=",">
            <if test="title != null"> title = #{title,jdbcType=VARCHAR},</if>
            <if test="summary != null"> summary = #{summary,jdbcType=VARCHAR},</if>
            <if test="coverImg != null"> cover_img = #{coverImg,jdbcType=VARCHAR},</if>
            <if test="price != 0"> price = #{price,jdbcType=INTEGER},</if>
            <if test="createTime != null"> create_time = #{createTime,jdbcType=TIMESTAMP},</if>
            <!--特别注意:一定要看pojo类里面的是基本数据类型,还是包装数据类型 -->
            <if test="point != 0"> point = #{point,jdbcType=DOUBLE},</if>
        </trim>
        where
        id = #{id}

为什么要转义字符

 由于Mybatis的sql 写在XML里面,有些sql的语法符号和xml里面的冲突

大于等于 <![CDATA[ >= ]]>

小于等于 <![CDATA[ <= ]]>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值