Mybatis批量增加,删除,更新Oracle
来源:互联网 发布:京东me软件 编辑:程序博客网 时间:2024/06/08 05:44
最近需要用到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中批量插入、删除、更新
- java/Spring/IOC
- Maven+SpringMVC+MyBatis实现系统(一)
- centos 忘记 密码 如何实现登陆?
- TimeZone
- LBP纹理特征
- Mybatis批量增加,删除,更新Oracle
- !MESSAGE Error occurred during status handling
- Shader教程
- Oracle SOA套件12c
- Maven+SpringMVC+MyBatis实现系统(二)
- 收集的一些数据维护方面的sql代码
- 第十七周项目 5 玩日期时间
- Axure RP每日一小技巧:如何利用矩形制作各种形状
- cp命令强制覆盖方式实现