在项目中遇到需要批量更新的功能,原本想的是在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>
以上所述是小编给大家介绍的Mybatis 中的sql批量修改方法实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。