java小知识--mybatis好用标签之trim

在这里插入图片描述

   <insert id="insertProduct" parameterType="Production">
        insert into py
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="wc.name!=null and wc.name!=''">
                name,
            </if>
            <if test="wc.price!=null and wc.price!=''">
                price,
            </if>
            <if test="wc.coreproject!=null and wc.coreproject!=''">
                coreproject,
            </if>
            <if test="wc.features!=null and wc.features!=''">
                features
            </if>
        </trim>
        <trim prefix="values(" suffix=")" suffixOverrides=",">
            <if test="wc.name!=null and wc.name!=''">
                #{wc.name},
            </if>
            <if test="wc.price!=null and wc.price!=''">
                #{wc.price},
            </if>
            <if test="wc.coreproject!=null and wc.coreproject!=''">
                #{wc.coreproject},
            </if>
            <if test="wc.features!=null and wc.features!=''">
                #{wc.features}
            </if>
        </trim>
    </insert>
  1. 首先prefix="(" suffix=")"你们应该懂啥意思,就是在语句前后拼接前后大括号.
  2. 当我们进行插入操作时,可选部分字段进行插入,这时候就要判断该死的前端把这些字段正确传过来了没有. 字段为null或者空串没必要执行插入操作.我们知道我们在写插入语句时括号里面字段之间要用逗号间隔,且最后不能已逗号结尾的. 可是如果恰巧只有第二个和第三个满足条件 语句就会变成:
insert into py(price,coreproject,) values(#{wc.price},#{wc.coreproject},)

这样就会报SQL语句错误
suffixOverrides=","这个方法就是解决这种问题的,用来去除最后一个后缀,这里也就是逗号.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值