博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis使用序列批量插入数据
阅读量:5045 次
发布时间:2019-06-12

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

  mybatis只提供了单条数据的插入,要批量插入数据我们可以使用循环一条条的插入,但是这样做的效率太低下,每插入一条数据就需要提交一次,如果数据量几百上千甚至更多,插入性能往往不是我们能接受的,如下例子可以成功的使用序列往oracle批量插入数据,

mapper映射文件代码如下:

  

insert into ph_org_store(id,commorgid,areaid,detailname,address,city,shopkeeper,managemodel,ybmode,tel,fax,createuserid,createtime) select ui_hisiris_apply.NEXTVAL, A.* from(
SELECT #{item.commOrgId,jdbcType=VARCHAR}, #{item.areaid,jdbcType=VARCHAR}, #{item.detailName,jdbcType=VARCHAR}, #{item.address,jdbcType=VARCHAR}, #{item.city,jdbcType=VARCHAR}, #{item.shopKeeper,jdbcType=VARCHAR}, #{item.manageModel,jdbcType=VARCHAR}, #{item.ybMode,jdbcType=VARCHAR}, #{item.tel,jdbcType=VARCHAR}, #{item.fax,jdbcType=VARCHAR}, #{item.createuserid,jdbcType=VARCHAR}, #{item.createtime,jdbcType=DATE} from dual
) A

  在此要说明的是,如果不指定 jdbcType ,如果数据为空的情况下,即时数据库允许为空依然会报异常,因为mybatis并不能识别并对空值进行转换。union 是合并提交 或者可以使用union all,区别在于union all 允许重复的数据插入,前者将会自动过滤掉。

转载于:https://www.cnblogs.com/dquery/p/6407827.html

你可能感兴趣的文章
Sybase IQ数据库索引
查看>>
ASP.NET WebService
查看>>
一个TokenUtils程序,亲测可用
查看>>
KVO 崩溃问题
查看>>
洛谷T47092 作业_简单状压动归
查看>>
在jsp页面如果运行时路径错误解决方法
查看>>
Jquery弹出层插件Thickbox使用心得
查看>>
jQuery Ajax 实例 全解析
查看>>
JS的解析与执行过程—全局预处理阶段之全局词法环境对象
查看>>
Django忘记管理员账号和密码的解决办法
查看>>
producer数据分发到多个partition
查看>>
.NET Framework
查看>>
Python ConfigParser模块
查看>>
【持续更新】最全Hexo个人博客搭建+主题优化+插件配置+错误分析
查看>>
Hello~! 我的blog
查看>>
UPDATE SELECT OUTPUT
查看>>
转:oracle驱动表
查看>>
Django模型层的多表操作(1)
查看>>
jmeter 多线程组间变量共享
查看>>
Phpstorm如何连接服务器
查看>>