mybatis 对 oracle 的批量操作,
2017-02-04 17:23
281 查看
1:返回插入新数据的主键(主键序列自增)
<insert id="saveLanguageType" parameterType="map" flushCache="false">
<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="ID">
SELECT SQ_SYS.Nextval AS ID from DUAL
</selectKey>
insert into
sys_language_type (
ID,
UPDATE_TIME
) values (
#{ID},
#{UPDATE_TIME}
)
</insert>获取方式:map.get("ID");
2:批量插入 传入参数list
注:需配置 useGeneratedKeys="false",才用自定义主键。虽默认为false,但是还是需要配置。
<insert id="saveLanguagekeyValue" parameterType="java.util.List" useGeneratedKeys="false" flushCache="false">
insert into table
(
ID,
UPDATE_TIME
)
SELECT
SQ_SYS.NEXTVAL AS ID, A.*
FROM
(
<foreach collection="list" item="item" index="index" separator="UNION ALL">
SELECT
#{item.UPDATE_TIME}
FROM dual
</foreach>
) A
</insert>解释:将数据存放在虚表中读出来对应的序列值也就是自增长的ID,在进行插入语句。
3:批量更新 传入参数list
注:与MySQL的区别是在语句前后加 begin ;end;
<update id="Updates" parameterType="java.util.List" flushCache="false">
begin
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update table
<set>
UPDATE_TIME =${item.UPDATE_TIME}
</set>
where ID =${item.ID}
</foreach>
;end;
</update>4:批量删除 与 MySQL的一样。
<insert id="saveLanguageType" parameterType="map" flushCache="false">
<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="ID">
SELECT SQ_SYS.Nextval AS ID from DUAL
</selectKey>
insert into
sys_language_type (
ID,
UPDATE_TIME
) values (
#{ID},
#{UPDATE_TIME}
)
</insert>获取方式:map.get("ID");
2:批量插入 传入参数list
注:需配置 useGeneratedKeys="false",才用自定义主键。虽默认为false,但是还是需要配置。
<insert id="saveLanguagekeyValue" parameterType="java.util.List" useGeneratedKeys="false" flushCache="false">
insert into table
(
ID,
UPDATE_TIME
)
SELECT
SQ_SYS.NEXTVAL AS ID, A.*
FROM
(
<foreach collection="list" item="item" index="index" separator="UNION ALL">
SELECT
#{item.UPDATE_TIME}
FROM dual
</foreach>
) A
</insert>解释:将数据存放在虚表中读出来对应的序列值也就是自增长的ID,在进行插入语句。
3:批量更新 传入参数list
注:与MySQL的区别是在语句前后加 begin ;end;
<update id="Updates" parameterType="java.util.List" flushCache="false">
begin
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update table
<set>
UPDATE_TIME =${item.UPDATE_TIME}
</set>
where ID =${item.ID}
</foreach>
;end;
</update>4:批量删除 与 MySQL的一样。
相关文章推荐
- mybatis 对oracle和mysql 批量插入操作
- mybatis批量操作Oracle数据
- mybatis批量操作oracle
- Oracle批量操作(基于Mybatis的实现)
- Mybatis Oracle批量操作
- ORACLE+Mybatis的一些批量操作及树查询
- mybatis之mysql&oracle 批量操作
- 数据库--MyBatis的(insert,update,delete)三种批量操作
- mybatis执行批量更新batch update 的方法(oracle,mysql)
- Mybatis 针对oracle的批量插入
- Oracle批量恢复drop操作删除的表、索引等对象
- ibatis中批量操作在mysql和oracle的区别
- 各种数据库的批量插入操作_Oracle
- myBatis配置文件中调用存储过程以及批量操作
- mybatis 中配置 批量insert mysql,oracle
- myBatis 批量操作
- MyBatis批量操作报错:Parameter 'xxxList' not found. Available parameters are [list]
- jdbc 连接数据库、批量操作、事务(oracle、mysql)
- MyBatis的关于批量数据操作的测试
- mybatis 批量操作