一、oracle数据库通过mybatis的批量插入的两种方式

方式1

insert into table_tmp (id,v1,v2,v3,v4)
SELECT A.*,OSM_VIID_DEVICE_UTSID.nextval FROM(
<foreach item="item" index="index" collection="list" separator="union all">
    SELECT
          #{item.id},#{item.v1},#{item.v2},#{item.v3},#{item.v4}
     FROM DUAL </foreach> ) A

其中item为批量插入的list中的实体对象,id,v1,v2...是对象中的属性。如果允许空值的情况,不要忘记把格式写成这样#{item.v1,jdbcType=VARCAHR},

方式二

insert all
<foreach item="item" index="index" collection="list" separator="">
into table_tmp (id,v1,v2,v3)
values
(#{item.id},#{item.v1},#{item.v2},#{item.v3})
</foreach>
select 1 from dual

跟方式一一样,都需要注意空值的情况。

二、mybatis的if的字符串的等值判断写法

在检索的时候,经常会用到mybatis的if判断,有时候一个字段通过多个枚举,代表多种含义,例如字符串1,代表查询情况1,字符串2,代表情况2

如果写成这样:

<if test="option != '' and option== ''"></if>

那上面判断不会成功,正确的写法应该是:

<if test="option != '' and option== ''.toString()"></if>

最新文章

  1. [Nhibernate]对象状态
  2. 个人学习随笔(psi-blast随笔)
  3. Lambda表达式公共拼接函数(原创)
  4. 剑指offer面试题30:最小的k个数
  5. Ninject简单的Demo
  6. 转(HP大中华区总裁孙振耀退休感言)
  7. C# 目录与文件管理
  8. javascript第二遍基础学习笔记(一)
  9. Sqlserver数据库日志太大如何快速删除
  10. 关于C#静态构造函数的几点说明
  11. netconf、yang和XML关系
  12. vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的
  13. 【Unity与23种设计模式】观察者模式(Observer)
  14. Python开发【第一篇】基础题目二
  15. Python学习之路并发编程--信号量、事件、队列及生产消费模型
  16. python 操作excel
  17. 使用Newtonsoft将DataTable转Json
  18. 23个Python爬虫开源项目代码
  19. $Miller Rabin$总结
  20. Visual Question Answering with Memory-Augmented Networks

热门文章

  1. myBatis 如何接受 返回count(*),sum()得到的int值
  2. inode、软连接、硬链接
  3. javascript基础知识整理(不定时更新)
  4. xxx referenced from: xxx in xxx.o
  5. 使用google浏览器模拟手机终端的方法
  6. 「UVA644」 Immediate Decodability(Trie
  7. 【Lintcode】112.Remove Duplicates from Sorted List
  8. Node.js集成支付宝接口注意事项
  9. 【转】Pro Android学习笔记(六):了解Content Provider(中)
  10. DL杂谈