Mybatis批量增加,删除,更新Oracle
来源:互联网 发布:大学c语言教材 编辑:程序博客网 时间:2024/05/18 05:29
最近需要用到Mybatis批量新增oracle数据库,刚开始在网上找到的方法是都是更新mySQL的,试了一下发现不适合Oracle,后来发现正确的oracle批量新增的sql是:
<insert id="insertAttractionsBatch" parameterType="java.util.List">
insert into ATTRACTIONS (
ID, NAME, LONGITUDE, LATITUDE, UPDATE_TIME
)
<foreach collection="list" item="item" index="index" separator="union all" >
(select
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
from dual)
</foreach>
</insert>
需要重点注意的是sql中没有values,和<foreach>标签中的(selece ..... from dual),MySql中的sql是这样的:
新增:
<insert id="insertAttractionsBatch" parameterType="java.util.List">
insert into ATTRACTIONS (
ID, NAME, LONGITUDE, LATITUDE, UPDATE_TIME
)
<foreach collection="list" item="item" index="index" separator="union all" >
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
</foreach>
</insert>
oracle更新不能按普通的方式,需要这样:
<update id="updateAttractionsBatch" parameterType="java.util.List">
begin
<foreach collection="list" item="item" index="index" separator=";" >
update ATTRACTIONS
<set>
<if test="item.id!=null and item.id!=''">
id = #{item.id},
</if>
<if test="item.head!=null and item.head!=''">
HEAD = #{item.head},
</if>
</set>
where id = #{item.id}
</foreach>
;end;
</update>
删除就与MySql一样了如下:
<delete id="deleteAttractions" parameterType="java.util.List">
delete from ATTRACTIONS
<where>
<foreach collection="list" index="index" item="item" open="(" separator="or" close=")">
id=#{item.id}
</foreach>
</where>
</delete>
- Mybatis批量增加,删除,更新Oracle
- Mybatis批量增加,删除,更新Oracle
- Mybatis批量增加,删除,更新Oracle
- Mybatis批量增加,删除,更新Oracle
- Mybatis批量增加,删除,更新Oracle
- Mybatis批量增加,删除,更新Oracle
- Mysql和Oracle 用Mybatis批量增加,删除,更新
- Mybatis批量增加、批量更新、批量删除和查询
- Mybatis 批量增加,批量更新
- mybatis批量更新(oracle)
- oracle mybatis 批量更新
- mybatis----批量增加与批量删除
- mybatis----批量增加与批量删除
- mybatis 批量增加、删除、修改、查询
- mybatis+oracle批量插入,批量更新
- mybatis批量增加(oracle,mysql)
- mybatis(mysql)批量插入 更新 删除
- MyBatis中批量插入、删除、更新
- PDCCH信道
- 泛型编程
- Mybatis中几个重要类
- Struts简介
- org.hibernate.impl.QueryImpl cannot be cast to java.util.List
- Mybatis批量增加,删除,更新Oracle
- ORA-01033:ORACLE initialization or shutdown in process
- Android SU
- ORA-00600: 内部错误代码, 参数: [kcratr1_lastbwr]
- C中常用库函数的简单实现
- 用户自定义类型转换
- OpenGL: 深度缓冲区-Z缓冲区
- HDU 1849 Rabbit and Grass 简单SG定理
- Linux makefile 教程 非常详细,且易懂(重排版)