Mybatis框架的Mapper.xml映射文件的仔细认真的详解

一、普通的插入代码思考:

INSERT INTO
      batch_task_group_status 
     
     (batch_no, task_code, group_code,
      group_lev, start_time, end_time,
      status, execute_time, create_user,
      create_time, update_user, update_time )
 
VALUES
     (#{batchNo,jdbcType=VARCHAR}, #{taskCode,jdbcType=VARCHAR}, #{groupCode,jdbcType=VARCHAR},
      #{groupLev,jdbcType=DECIMAL}, #{startTime,jdbcType=CHAR}, #{endTime,jdbcType=CHAR},
      #{status,jdbcType=VARCHAR}, #{executeTime,jdbcType=DECIMAL}, #{createUser,  jdbcType=VARCHAR},
      #{createTime,jdbcType=VARCHAR}, #{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}
      )

二、带有标示符的SQL语句       

 

 prefix : 给<trim>包裹的sql语句加上前缀。

suffix : 给<trim>包裹的sql语句加上后缀。

prefixOverrides :  如果<trim>包裹的sql语句 if  判断为空,取消指定的前缀,如where.

suffixOverrides :   如果<trim>包裹的sql语句 if  判断为空,取消指定的后缀,如and | or. 逗号等

suffixOverrides=","   --》代表去掉最后的  ' , '(逗号)

prefixOverrides="AND |OR"  prefixOverrides=","  --》代表去掉最前面的逗号 、 and 或者 or

<insert id="insertSelective" parameterType="com.csii.loan.common.model.batch.BatchTaskGroupStatus">
    INSERT INTO
         batch_task_group_status
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="batchNo != null">
            batch_no,
        </if>
        <if test="taskCode != null">
            task_code,
        </if>
        <if test="groupCode != null">
            group_code,
        </if>
        <if test="groupLev != null">
            group_lev,
        </if>
        <if test="startTime != null">
            start_time,
        </if>
        <if test="endTime != null">
            end_time,
        </if>
        <if test="status != null">
            status,
        </if>
        <if test="executeTime != null">
            execute_time,
        </if>
        <if test="createUser != null">
            create_user,
        </if>
        <if test="createTime != null">
            create_time,
        </if>
        <if test="updateUser != null">
            update_user,
        </if>
        <if test="updateTime != null">
            update_time,
        </if>
    </trim>

    <trim prefix="VALUES (" suffix=")" suffixOverrides=",">  

<!--如果if包含的语句为空,则取消后面的逗号-->
<!--整个trim的前缀和后缀 是 “values(”  和  “ ) ”-->
        <if test="batchNo != null">
            #{batchNo,jdbcType=VARCHAR},
        </if>
        <if test="taskCode != null">
            #{taskCode,jdbcType=VARCHAR},
        </if>
        <if test="groupCode != null">
            #{groupCode,jdbcType=VARCHAR},
        </if>
        <if test="groupLev != null">
            #{groupLev,jdbcType=DECIMAL},
        </if>
        <if test="startTime != null">
            #{startTime,jdbcType=CHAR},
        </if>
        <if test="endTime != null">
            #{endTime,jdbcType=CHAR},
        </if>
        <if test="status != null">
            #{status,jdbcType=VARCHAR},
        </if>
        <if test="executeTime != null">
            #{executeTime,jdbcType=DECIMAL},
        </if>
        <if test="createUser != null">
            #{createUser,jdbcType=VARCHAR},
        </if>
        <if test="createTime != null">
            #{createTime,jdbcType=VARCHAR},
        </if>
        <if test="updateUser != null">
            #{updateUser,jdbcType=VARCHAR},
        </if>
        <if test="updateTime != null">
            #{updateTime,jdbcType=VARCHAR},
        </if>
    </trim>
</insert>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值