Mybatis批量增加,删除,更新Oracle
来源:互联网 发布:股票大作手回忆录知乎 编辑:程序博客网 时间:2024/06/08 22:10
最近需要用到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中批量插入、删除、更新
- 【阿里云服务器】【ubuntu14.04】搭建apache+php+mysql+phalcon
- Maven集成到工具以及解决内存溢出
- android Sockte、ServerSocket阻塞,不同步问题
- 设计模式-原型模式
- Android Listview滑动时不加载数据,停下来时加载数据,让App更优
- Mybatis批量增加,删除,更新Oracle
- 浅谈WPF DatePicker默认显示 当前时间
- 二叉树中和为某一值得路径java
- SQL Server语法学习笔记
- 01背包
- cf 625 b.War of the Corporations (字符串)
- nginx负载均衡
- [LeetCodeOJ] Reverse Integer
- ajax&json实现二级下拉框联动,简单示例