博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java for循环里面执行sql语句操作,有效结果只有一次,只执行了一次sql mybatis 循环执行update生效一次 实际只执行一次...
阅读量:7023 次
发布时间:2019-06-28

本文共 921 字,大约阅读时间需要 3 分钟。

java后台controller中,for循环执行数据库操作,但是发现实际仅仅执行了一次,或者说提交成功了一次,并没有实际的个数循环

有可能是同一个对象导致的

 

可以仔细看一下下面两段代码有什么区别

ps:代码无实际意义,只为演示

Entity entity=null;for(int i=0;i<5;i++){                                                 entity= new Entity();                         entity.setId(i);                         entity.setCreateTime(new Date());                        boolean updateResult = Service.update( entity );                    }

 

Entity entity = new Entity();for(int i=0;i<5;i++){                        entity.setId(i);                        entity.setCreateTime(new Date());                        boolean updateResult = Service.update(entity );                    }

 

很明显上面是声明了一个引用,每一次都创建了一个新的对象,并执行update操作

下面是同一个对象,不断地改变赋值,然后执行了update操作

其结果截然不同:

上面的一段代码,会执行实际的次数,循环0,1,2,3,4    执行5次update

下面的代码仅仅只会执行一次,因为是同一个对象

所以如果循环里面,调用service,service调用了dao执行了sql,如果发现仅仅只是执行了一次,可以考虑怀疑是不是对象是同一个

转载于:https://www.cnblogs.com/noteless/p/5411415.html

你可能感兴趣的文章
Linux 查硬件配置
查看>>
Windows Server 2008 R2 Hyper-V 故障转移群集部署指南
查看>>
Windows下安装UCenter和UCenter_Home
查看>>
3.3-Linux磁盘管理
查看>>
[转] Javascript模块化编程(一):模块的写法
查看>>
REST client 基于浏览器的测试工具
查看>>
ipmitool
查看>>
makefile中的变量赋值
查看>>
如何将Excel转换成Markdown表格
查看>>
【转载】wifi的两种工作模式
查看>>
npm包使用过程中遇到的坑,长期更~
查看>>
真机调试
查看>>
Elm学习指南
查看>>
通读SDWebImage①--总体梳理、下载和缓存
查看>>
929. 独特的电子邮件地址
查看>>
19. Spring Boot Shiro 权限管理
查看>>
【C语言】14-返回指针的函数与指向函数的指针
查看>>
uoj#119. 【UR #8】决战圆锥曲线(线段树+复杂度分析)
查看>>
PHP 5.4 on CentOS/RHEL 6.4 and 5.9 via Yum
查看>>
frame pointer及其用途
查看>>