oracle批量新增的sql是:
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)
需要重点注意的是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}
Mysql更新是这样的:
第一种方式:
update aa set
a=#{fptm},
b=#{csoftrain}
where c in
#{item}
但是这种方式修改的字段值都是一样的。
第二种方式:
update test
test=${item.test}+1
where id = ${item.id}
这种方式,可以一次执行多条SQL语句
oracle更新不能按普通的方式,需要这样:
begin
update ATTRACTIONS
id = #{item.id},
HEAD = #{item.head},
where id = #{item.id}
;end;
删除与MySql一样如下:
delete from ATTRACTIONS
id=#{item.id}