MyBatis 特殊标签使用例子

Posted Tiger Expensive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis 特殊标签使用例子相关的知识,希望对你有一定的参考价值。

foreach、if 、where

  <insert id="batchInsert" parameterType="list">
    insert into mmall_order_item (id, order_no,user_id, product_id,
    product_name, product_image, current_unit_price,
    quantity, total_price, create_time,
    update_time)
    values
    <foreach collection="orderItemList" index="index" item="item" separator=",">
      (
      #{item.id},#{item.orderNo},#{item.userId},#{item.productId},#{item.productName},
    #{item.productImage},#{item.currentUnitPrice},#{item.quantity},#{item.totalPrice},now(),now() )
</foreach> </insert>
 <update id="updateByPrimaryKeySelective" parameterType="com.pojo.OrderItem" >
    update order_item
    <set >
      <if test="userId != null" >
        user_id = #{userId,jdbcType=INTEGER},
      </if>
      <if test="orderNo != null" >
        order_no = #{orderNo,jdbcType=BIGINT},
      </if>
      <if test="updateTime != null" >
        now(),
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
 <insert id="insertSelective" parameterType="com.mmall.pojo.PayInfo" >
    insert into mmall_pay_info
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="userId != null" >
        user_id,
      </if>
      <if test="updateTime != null" >
        update_time,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="userId != null" >
        #{userId,jdbcType=INTEGER},
      </if>
      <if test="updateTime != null" >
        now(),
      </if>
    </trim>
  </insert>
<select id="selectByNameAndProductId" resultMap="BaseResultMap" parameterType="map">
  select
    <include refid="Base_Column_List"/>
    FROM
    mmall_product
    <where>
      <if test="productName != null">
        and name like #{productName}
      </if>
      <if test="productId != null">
        and id = #{productId}
      </if>
    </where>
  </select>

 

以上是关于MyBatis 特殊标签使用例子的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis动态SQL标签用法

mybatis动态sql之利用sql标签抽取可重用的sql片段

Python中verbaim标签使用详解

6.mybatis里面的动态sql是怎么设定的,常用标签有那些以及其

MyBatis高级特性

Mybatis动态sql