1. 程式人生 > >myBatis 配置檔案 批量操作(增、刪、改)操作(資料庫 oracle 11g)

myBatis 配置檔案 批量操作(增、刪、改)操作(資料庫 oracle 11g)

1、更新

  <update id="batchUpdate"  parameterType="java.util.List">
    <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
      update tableName
      set yqb = #{item.yqb}
      where id = ${item.id}
    </foreach>
  </update>

2、刪除

  <delete id="batchDelete"  parameterType="java.util.List">
    delete from tableName 
    where id in (
      <foreach collection="list" item="item" index="index" open="" close="" separator=",">
        #{item,jdbcType = VARCHAR}
      </foreach>
    )
  </delete>

3、新增

  <insert id="batchInsert"  parameterType="java.util.List">
    insert into tableName(id,name,age)
    <foreach collection="list" item="item" index="index" open="" close="" separator="union all">
      select #{item.id,jdbcType = VARCHAR},#{item.name,jdbcType = VARCHAR},#{item.age,jdbcType = VARCHAR}
      from dual
    </foreach>
  </insert>

4、mybatis中特殊符號的轉義

第一種寫法(1):
原符號       <        <=      >       >=       &        '        "
替換符號    &lt;    &lt;=   &gt;    &gt;=   &amp;   &apos;  &quot;
例如:sql如下:
create_date_time &gt;= #{startTime} and  create_date_time &lt;= #{endTime}

第二種寫法(2):
大於等於
<![CDATA[ >= ]]>
小於等於
<![CDATA[ <= ]]>
例如:sql如下:
create_date_time <![CDATA[ >= ]]> #{startTime} and  create_date_time <![CDATA[ <= ]]> #{endTime}