一、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>

开发中mybatis的一些常见问题记录的更多相关文章

  1. 彻底搞定Android开发中软键盘的常见问题

    软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog.        InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参 ...

  2. 移动端页面使用单位的问题:关于px、百分比、em、rem开发中逐渐转换的问题记录

    开始写前端页面也有了快两年时间,从一开始的懵逼到现在的淡定,但是不能改变我还是一只小菜鸟的事实,平时遇到的一些问题都会记录在文件夹里,现在都整理一下大家一起分享自己平时也翻翻看看~ 不知道大家平时写的 ...

  3. 项目开发中遇到的extjs常见问题

    事件触发机制 l 给某一个控件添加事件. obj.addEvents( {search : true }); l 给某一个事件添加处理函数 n 给一个对象或变量添加监听及对应得处理,可以在创建时,通过 ...

  4. Android开发中的神坑和知识点记录

    1.SDK Manager.exe闪退的问题 http://blog.csdn.net/fambit025/article/details/26984345 1.找到android.bat,在源码处找 ...

  5. Android开发中一些常见的问题解决方案

    分享一下自己开发中遇到的一些常见问题及解决方案,方面以后快速开发少走弯路,也可以供大家一起学习. 1.开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listvie ...

  6. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

  7. 【转】android开发中关于模拟器emulation的常见问题

    [转]android开发中关于模拟器emulation的常见问题 Trouble: 无法启动android模拟器,提示 XDM authorization key matches an existin ...

  8. react + antiDesign开发中遇到的问题记录

    react + antiDesign开发中遇到的问题记录 一:页面中子路由失效: antiDesign的官方实例中,会把路由重复的地方给去重,而且路由匹配模式不是严格模式.所以我们需要在util.js ...

  9. 第123天:移动web开发中的常见问题

    一.函数库 underscoreJS _.template: <ol class="carousel-indicators"> <!--渲染的HTML字符串--& ...

随机推荐

  1. String类中的equals是如何重写的

    我们知道String中的equals方法是被重写过的,因为object的equals方法是比较的对象的内存地址,而String的equals方法比较的是对象的值. 首先几个知识点: 基本数据类型==比 ...

  2. Java的访问权限修饰符

    default或者friendly表示默认的访问权限修饰符.

  3. 跨线程send message

    今天同事问了一个问题,说在线程中send message 和直接调用是不是一样,他觉得是一样的,但是线程跟踪却发现处理过程是在接收消息队列完成.回家看到博客园上的一番争论才有些明白,这里贴出来,共勉 ...

  4. suse enterprise Linux 11上配置 oracle11g和tomcat开机自启动

    一.oracle 11g r2自启动 1.修改/etc/sysconfig/oracle文件: ORACLE_BASE=/oracle  //此处改为你安装的oracle目录 START_ORACLE ...

  5. bzoj 1731 [Usaco2005 dec]Layout 排队布局——差分约束

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1731 对差分约束理解更深.还发现美妙博客:http://www.cppblog.com/me ...

  6. 【240】◀▶IEW-Unit05

    Unit 5 Education: Study Abroad 表格技巧讲解 1. Model1对应表格分析 This table shows the numbers of international ...

  7. CF-839A

    A. Arya and Bran time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  8. 《精通Spring4.X企业应用开发实战》读后感第五章(Bean作用域)

  9. gin-swagger包Api文档生成, Post请求参数无法接收, 问题修复。

    Bug描述 FormData方式下,任意参数类型都只生成file参数类型. 问题重现 问题代码在这一行 github.com\swaggo\swag\operation.go : 131 line c ...

  10. L2-014. 列车调度 (DP)

    火车站的列车调度铁轨的结构如下图所示. Figure 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择任意一条轨道进入,最后从出口 ...