java for循环里面执行sql语句操做,有效结果只有一次,只执行了一次sql mybatis 循环执行update生效一次 实际只执行一次

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

有多是同一个对象致使的sql

 

能够仔细看一下下面两段代码有什么区别数据库

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

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操做code

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

其结果大相径庭:blog

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

下面的代码仅仅只会执行一次,由于是同一个对象for循环

因此若是循环里面,调用service,service调用了dao执行了sql,若是发现仅仅只是执行了一次,能够考虑怀疑是否是对象是同一个class

相关文章
相关标签/搜索