首页 > 常见问答

mybatis实现批量更新 mybatis批量更新返回影响行数恒为1,有解决方案吗?

mybatis批量更新返回影响行数恒为1,有解决方案吗?

我猜问题所有者可以使用sqlmapper中的foreach进行批处理。实际上,不建议使用此方法进行批处理,因为当存在大量批处理数据时,会出现性能问题。如果您坚持使用这种方法,请将foreach的数量控制在50以内。

事实上,mybatis还正式推荐批量处理的方法。问题负责人可以试试。这种批量加工的方法可以批量插入数万件,而且性能不会太差。另外,我认为如果采用官方推荐的方式,也不会出现这样的问题。

官方文件:https://mybatis.org/mybatis-dynamic-sql/docs/insert.html?spm=ata.13261165.0.0.4dc71d1dlf3nxt

注:提供批量插入,批量修改也类似

mybatis实现批量更新 mybatis批量更新返回影响行数恒为1,有解决方案吗?

在标题上问这样的问题真是醉了。。顺便说一句,胡说八道太多了。

国内设计理念为表驱动。总之,逻辑是由数据表决定的,实现是由模型来完成的。事实上,这与面向对象的思想截然相反。大多数工程师手中所谓的mybatis的灵活性是,他们不需要考虑如何设计模型。”不管怎样,我可以用原生sql来解决这个问题。模型设计太差了,只能靠sql来修正。jpa是完全对象驱动的思想。早期设计的缺陷会制约后续的开发,不同的数据库可以用不同的方式实现(事实上,即使redis也是一样的)。回答一些常见的问题。

1.jpa表的连接行为具有不确定性和难以控制性。

您确定使用了spring数据jpa吗?不知道有实体图吗?当一个傻瓜达到这个水平时,他能做什么。

2.jpa子查询不容易实现。

我想你没用过,是吗?spring数据jpa的子查询不仅可以单独定义视图,还可以进行子查询,甚至可以直接使用jpql。

3.jpa不容易优化。

我真的不相信99%的优化能超过springdatajpa的优化。特别是,普通程序员能否停止谈论优化?他们甚至搞不懂mysql的锁。表设计就像一堆废话,他们仍然每天使用原生sql。你觉得他们很棒吗?jpa可以将表属性反映到对象。当然,运行时优化是有基础的。orm的发展空间太大了。任何有点技术知识的人都知道orm将拥有越来越多的优势。有一点经验的程序员都知道,在谈论其他人之前,是时候先谈论良好的维护了。解决性能问题的方法太多了。

最后,难道你不知道ormcqrs现在是提倡的吗?请问,有没有什么复杂的问题没有原生sql的介入是无法解决的。

mybatis实现批量更新mybatis批量insertmybatis批量更新数据

原文标题:mybatis实现批量更新 mybatis批量更新返回影响行数恒为1,有解决方案吗?,如若转载,请注明出处:https://www.saibowen.com/wenda/20427.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。