mybatis通过batch批量提交 mybatis foreach是一次提交吗?
mybatis foreach是一次提交吗?
mybatis的foreach只是一个封装SQL的过程,最终封装完成的SQL一次提交
首先需要了解事务的概念,以保持数据的一致性。在mybatis中,默认情况下不启用事务的自动提交,因此需要插入。但是,系统认为您的一系列操作尚未完成。为了保证数据的一致性,系统不会添加此新数据。只有手动提交时,数据库才会添加数据
我猜主体可能会使用sqlmapper中的foreach进行批处理,其实不建议使用此方法进行批处理,因为批处理数据量大时会出现性能问题。如果您坚持使用这种方法,请将foreach的数量控制在50以内。
事实上,mybatis还正式推荐批量处理的方法。问题负责人可以试试。这种批量加工的方法可以批量插入数万件,而且性能不会太差。另外,我认为如果采用官方推荐的方式,也不会出现这样的问题。
官方文件:https://mybatis.org/mybatis-dynamic-sql/docs/insert.html?spm=ata.13261165.0.0.4dc71d1dlF3NxT
注:提供批量插入和批量修改
mybatis通过batch批量提交 mybatis为何不提交事务 mybatis批量insert的几种方式
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。