文章转载于mybatis 中的批量添加、删除、修改
现在很多公司和个人开始都会使用到mybatis 框架,而mybatis框架是一个orm框架,所以 数据库的 insert 、update、 delete 那肯定是必须的,但有个问题就是性能的问题。
这么说吧:看到有人在使用mybatis批量删除批量添加的时候还在程序中使用for循环来调用方法,这样是没错,但是性能稍微低一点,所以下面看几个批量处理的例子,相对直接在程序中for循环的效率要高一点:
1、批量添加:
2、批量修改:
3、批量删除:
这种批量插入、修改、删除的方式比程序中for循环调用快原因如下:(1)、网络间传递的数据量少,当然传递的时间就少了很多。(2)、请求数据库服务的次数少,因为连接数据库服务是很耗时的(所以出了数据库连接池)。(3)、mybatis 在执行的时候才会获取Connection ,statement 对象所以想不for循环少创建了很多对象。
(4)、mybatis 的 执行方式有三种即:SIMPLE、REUSE、BATCH 三种方式,如果方便的话设置一下,如果使用SIMPLE每一次执行都创建Statement对象并执行,如果使用REUSE 则重复使用preparedStatement 对象来执行 而BATCH 就是批量执行了而mybatis默认就是使用 SIMPLE 方式来执行,所以我们要注意最起码是不是应该是REUSE 执行方式。
三种执行方式之前的文章中已介绍过了,这里就不重复。三种执行方式文章地址