开发中mybatis的一些常见问题记录
2024-08-29 18:18:12
一、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>
最新文章
- [Nhibernate]对象状态
- 个人学习随笔(psi-blast随笔)
- Lambda表达式公共拼接函数(原创)
- 剑指offer面试题30:最小的k个数
- Ninject简单的Demo
- 转(HP大中华区总裁孙振耀退休感言)
- C# 目录与文件管理
- javascript第二遍基础学习笔记(一)
- Sqlserver数据库日志太大如何快速删除
- 关于C#静态构造函数的几点说明
- netconf、yang和XML关系
- vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的
- 【Unity与23种设计模式】观察者模式(Observer)
- Python开发【第一篇】基础题目二
- Python学习之路并发编程--信号量、事件、队列及生产消费模型
- python 操作excel
- 使用Newtonsoft将DataTable转Json
- 23个Python爬虫开源项目代码
- $Miller Rabin$总结
- Visual Question Answering with Memory-Augmented Networks
热门文章
- myBatis 如何接受 返回count(*),sum()得到的int值
- inode、软连接、硬链接
- javascript基础知识整理(不定时更新)
- xxx referenced from: xxx in xxx.o
- 使用google浏览器模拟手机终端的方法
- 「UVA644」 Immediate Decodability(Trie
- 【Lintcode】112.Remove Duplicates from Sorted List
- Node.js集成支付宝接口注意事项
- 【转】Pro Android学习笔记(六):了解Content Provider(中)
- DL杂谈