Mybatis批量增加,删除,更新Oracle
来源:互联网 发布:手机查经纬度软件 编辑:程序博客网 时间:2024/06/08 19:49
最近需要用到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中批量插入、删除、更新
- php用户登陆
- JVM调优总结(五)-分代垃圾回收详述1
- 自定义控件如何获取 android:layout_width属性
- 深入Java基础(一)——基本数据类型及其包装类
- 【p1042-乒乓球】解题记录
- Mybatis批量增加,删除,更新Oracle
- angular中子控制器向父控制器传值
- 开源xplico工具,添加PFring抓包支持
- 欢迎使用CSDN-markdown编辑器
- JVM调优总结(四)-垃圾回收面临的问题
- 制作U盘小图标
- jQuery length和size()区别
- android 真机调试 DDMS 看不到进程解决方法
- Hibernate面试题