mybatis批量操作注意事项

    闲来记录下mybatis的批量操作,写法很简单,mapper中的方法传入一个list,然后xml里循环就好;

注意点:

循环的list一次过千可能有问题,需要分批次执行,这里以批量修改为例,以前好像遇到过批量新增时候,id数量限制,好像是160(忘记具体原因了),总之批量操作注意数量问题。解决方法:看下面的例子

还有就是,批量操作的时候,获取集合的某一个属性,不需要单独去建一个单个属性的list,可以把对象list传入后,直接用.(点)获取相应属性(例子中倒数第四行)

代码如下:

<update id="对应的方法名">
		update 表
		set STATUS = #{status}
		where ORG_CODE = #{orgCode}
		and OUTPATIENT_CODE in
		<trim suffixOverrides=" OR OUTPATIENT_CODE IN ()">
		      <foreach item="tlybMzjs" index="index" collection="对应的list"
		               open="(" close=")">
		          <if test="index != 0">
		              <choose>
		                  <when test="index % 1000 == 999">) OR OUTPATIENT_CODE IN (</when>
		                  <otherwise>,</otherwise>
		              </choose>
		          </if>
		          #{tlybMzjs.outpatientCode}
		      </foreach>
		</trim>
</update>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章