MyBatis中的批量插入、删除(MySql、Oracle)
2015-11-19 14:18
573 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/time1118/article/details/49927089
批量插入
批量插入mysql和oracle的sql会有些差别,要注意!
mysql:
<insert id="batchInsert" parameterType="java.util.List"> insert into user(username, password) values <foreach collection="list" item="item" index="index" separator=","> (#{item.username}, #{item.password} ) </foreach> </insert>
oracle:
<insert id="batchInsert" parameterType="java.util.List"> insert into user(username, password) <foreach close=")" collection="list" item="item" index="index" open="(" separator="union"> select #{item.username,jdbcType=VARCHAR}, #{item.password,jdbcType=VARCHAR} from dual </foreach> </insert>
下面的是Oracle使用 Sequence来生成主键的批量插入写法
<insert id="batchInsert" parameterType="java.util.List"> insert into user(id, username, password) select SEQ_USER_ID.NEXTVAL,T.* from( <foreach collection="list" item="item" index="index" separator="UNION"> SELECT #{item.username,jdbcType=VARCHAR}, #{item.password,jdbcType=VARCHAR} from dual </foreach> ) T </insert>
批量删除
<delete id="batchDeleteByIdList" parameterType="java.util.List"> delete from user where id in <foreach item="id" collection="list" open="(" separator="," close=")"> #{id} </foreach> </delete>
当然,也可以使用Array来替代List,修改parameterType=“array”和collection=”array”即可
相关文章推荐
- MyBatis中的批量插入、删除数据库数据(MySql和Oracle)
- Mybatis的批量插入(oracle、MySQL)
- Oracle + Mybatis实现批量插入、更新和删除示例代码
- mybatis中mysql与Oracle批量删除与添加
- mybatis针对oracle和mysql高效率批量插入的解决方案
- mybatis 批量插入oracle与mysql
- mybatis 对oracle和mysql 批量插入操作
- Mybatis(Oracle)批量插入、批量更新、批量删除
- MyBatis的批量插入-oracle/mysql
- Mybatis+Oracle批量插入(自动过滤重复数据)与删除
- mybatis 操作(批量插入,批量修改,批量删除, 分页查询)
- mybatis中批量插入数据(MYSQL)
- Mybatis+Oracle进行数据的批量插入和更新
- Mybatis插入mysql/oracle的主键示例
- Mybatis 3+Mysql 实现批量插入
- Mybatis+Mysql 批量插入的时候返回主键ID
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- mybatis之mysql&oracle 批量操作
- PreparedStatement 批量更新,插入数据到Oracle mysql
- 使用mybatis 对 oracle数据批量插入、更新