Mybatis 中的sql批量修改方法实现
时间:2020-12-15 01:08:28|栏目:JAVA代码|点击: 次
在项目中遇到需要批量更新的功能,原本想的是在Java中用循环访问数据库去更新,但是心里总觉得这样做会不会太频繁了,太耗费资源了,效率也很低,查了下mybatis的批量操作,原来确实有<foreach>标签可以做到。
dao 层接口:
public class Demo{
private int id;
private String name;
private String sex;
}
<pre name="code" class="html">public int update(@Param("list") List<Demo> list);</pre><br>
<br>
<p></p>
<pre></pre>
<br>
xml 文件:
<p></p>
<p><update id="update" parameterType="java.util.List"><br>
</p>
<p>update bpm_info set message_id= 1 where id in <br>
<span style="white-space:pre"></span><foreach collection="list" index="index" item="item" open="(" separator="," close=")"><br>
<span style="white-space:pre"></span>#{item.id}<br>
<span style="white-space:pre"></span></foreach><br>
</update><br>
</p>
<p><br>
</p>
<p>以上这种做法适用情况是:根据传入的List参数集合中的每一个id遍历去更新指定字段。。</p>
<p><br>
</p>
<p>其中:</p>
<p>1.collection 中要对应接口中集合的名称</p>
<p>2.item 是集合的别名</p>
<p><br>
</p>


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




