• MyBatis动态添加—trim标签


    做添加时,部分字段有值,没值的字段不添加,这就是动态添加,使用 trim 标签就可以实现。

    <insert id="insertSysUser" parameterType="com.mydemo.entity.SysUser">
            insert into sys_user
            <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="id != null and id != ''">
                    id,
                </if>
                <if test="username != null and username != ''">
                    username,
                </if>
                <if test="realName != null and realName != ''">
                    real_name,
                </if>
                <if test="idcard != null and idcard != ''">
                    idcard,
                </if>
                create_time
            </trim>
            <trim prefix="values(" suffix=")" suffixOverrides=",">
                   <if test="id != null and id != ''">
                    #{id, jdbcType = VARCHAR},
                </if>
                <if test="username != null and username != ''">
                    #{username, jdbcType = VARCHAR},
                </if>
                <if test="realName != null and realName != ''">
                    #{realName, jdbcType = VARCHAR},
                </if>
                <if test="idcard != null and idcard != ''">
                    #{idcard, jdbcType = VARCHAR},
                </if>
                now()
            </trim>
        </insert>

    最终结果:insert into sys_user ( id, username, real_name, idcard, create_time ) values( ?, ?, ?, ?, now() ) 

    trim标签属性含义:

    属性 描述
    prefix 给sql语句拼接的前缀
    suffix 给sql语句拼接的后缀
    prefixesToOverride 去除sql语句前面的关键字或者字符,该关键字或者字符由prefixesToOverride属性指定,假设该属性指定为”AND”,当sql语句的开头为”AND”,trim标签将会去除该”AND”
    suffixesToOverride 去除sql语句后面的关键字或者字符,该关键字或者字符由suffixesToOverride属性指定

     

     

     

     

     

     

  • 相关阅读:
    CDQZ Day5
    CDQZ Day4
    CDQZ Day3
    POJ 2226 Muddy Fields
    【其他】【生成图片】【1】通过phantomjs 进行页面截图
    【Redis】【1】一些报错处理
    【Java】【15】判断url对应的图片是否存在
    【HTML&CSS】【3】点击直接发送邮件
    【微信公众号开发】【16】遇到的问题
    【Oracle】【9】取前N条记录——rownum和row_number() over()的使用
  • 原文地址:https://www.cnblogs.com/jingyi17/p/10273181.html
Copyright © 2020-2023  润新知