正确的oracle批量新增的sql是:
方法 1:
insert into ATTRACTIONS (
ID, NAME, LONGITUDE, LATITUDE, UPDATE_TIME
)
(select
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
from dual)
方法 2 :
BEGIN
INSERT INTO TABLE.STUDENT (ID,AGE,NAME,STU_ID) VALUES
( DEMO.SEQ_EID.NEXTVAL,#{item.age},#{item.name},#{item.stuId} )
;END ;
需要重点注意的是sql中没有values,和标签中的(selece ..... from dual),MySql中的sql是这样的:
新增:
insert into ATTRACTIONS (
ID, NAME, LONGITUDE, LATITUDE, UPDATE_TIME
)
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
oracle更新不能按普通的方式,需要这样:
begin
update ATTRACTIONS
id = #{item.id},
HEAD = #{item.head},
where id = #{item.id}
;end;
删除就与MySql一样了如下:
delete from ATTRACTIONS
id=#{item.id}
原文:https://www.cnblogs.com/wangjintao-0623/p/10577489.html