MyBatis中的批量插入、删除数据库数据(MySql和Oracle)
2016-11-19 10:21
651 查看
批量插入MySQL和Oracle的sql会有些差别,要注意!
这里是mysql插入:
oracle:
下面的是Oracle使用 Sequence来生成主键的批量插入写法:
批量删除MySql和Oracle数据库数据:
这里是mysql插入:
<insert id="batchInsert" parameterType="java.util.List"> insert into user(name, sex) values <foreach collection="list" item="item" index="index" separator=","> (#{item.name}, #{item.sex} ) </foreach> </insert>
oracle:
<insert id="batchInsert" parameterType="java.util.List"> insert into user(name, sex) <foreach close=")" collection="list" item="item" index="index" open="(" separator="union"> select #{item.name,jdbcType=VARCHAR}, #{item.sex,jdbcType=VARCHAR} from dual </foreach> </insert>
下面的是Oracle使用 Sequence来生成主键的批量插入写法:
<insert id="batchInsert" parameterType="java.util.List"> insert into user(id, name, sex) select SEQ_USER_ID.NEXTVAL,T.* from( <foreach collection="list" item="item" index="index" separator="UNION"> SELECT #{item.name,jdbcType=VARCHAR}, #{item.sex,jdbcType=VARCHAR} from dual </foreach> ) T </insert>
批量删除MySql和Oracle数据库数据:
<delete id="batchDeleteByIdList" parameterType="java.util.List"> delete from user where id in <foreach item="id" collection="list" open="(" separator="," close=")"> #{id} </foreach> </delete>
相关文章推荐
- c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)
- Mybatis+Oracle批量插入(自动过滤重复数据)与删除
- mybatis-oracle批量插入数据的简单学习
- Java 批量插入数据库(MySQL)数据
- mybatis 批量插入oracle与mysql
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- C# 向数据库批量更新数据(插入、更新、删除)
- Mybatis的批量插入(oracle、MySQL)
- 使用MyBatis单条和批量插入数据到Oracle的表中
- MyBatis+oracle 批量插入数据的一些问题
- PreparedStatement 批量更新,插入数据到Oracle mysql
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
- mybatis针对oracle和mysql高效率批量插入的解决方案
- 利用mysql存储过程向数据库批量插入数据
- mybatis 对oracle和mysql 批量插入操作
- 新安装的Mysql5.5数据库使用mybatis提示插入数据成功并且主键已经自增,但是数据表中没有数
- php+mysqli实现批量执行插入、更新及删除数据的方法
- 1分钟oracle 数据库按天插入60万数据和按天删除60万数据
- Oracle使用Mybatis实现批量插入或修改数据(Oracle)