Mybatis批量插入Oracle数据库数(包含BLOB类型)

简介: 批量插入,在Oracle中与MySQL有一定差异,尤其遇到CLOB\BLOB时,批量插入的sql语句有个很大差异,但是不包含时,基本一样,所以需要记录一下。

一、映射字段类型
有两种,我都是试过了,都可以用。

//大文本字段

private byte[] dwbzd;

法一:

<result property="dwbzd" column="DWBZD" jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler" />

法二:

<result property="dwbzd" column="DWBZD" jdbcType="LONGVARBINARY"/>
二、SQL语句

sql语句与上边的映射方式没有关系,随便哪一个都行。一下语句大体相同,但是我在试用中,出现了问题,如果使用法二存入集合中存在空文本的时候,随后的实体就会报错。法一没有遇到同样的问题。
查阅后的解释是:使用了SELECT查询DUAL导致的后边的这个字段无法正确映射。
法一:

<foreach collection="list" item="photo" index="index" open="begin" close=";end;" separator=";">
    INSERT INTO TABLE_NAME
    (ID,DWBZD)
    values
    (#{photo.id, jdbcType=VARCHAR}, #{photo.dwbzd, jdbcType=BLOB}
    )
</foreach>

法二:
此方法如果

BEGIN
    INSERT INTO TABLE_NAME
    (ID,DWBZD)
    <foreach collection="list" item="photo" index="index" separator="UNION ALL">
      SELECT
      #{photo.id, jdbcType=VARCHAR}, #{photo.dwbzd, jdbcType=BLOB}
      FROM DUAL
    </foreach>
    ;END;
相关文章
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
56 7
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
41 5
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
6天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。
|
14天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
35 7
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(1)
Oracle数据库基本概念理解(1)
13 1
|
1月前
|
Oracle 关系型数据库 MySQL
Seata常见问题之oracle 数据库 报 just support mysql如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
53 0
|
1月前
|
Oracle Java 关系型数据库
SpringBoot整合Mybatis连接Oracle数据库
SpringBoot整合Mybatis连接Oracle数据库
SpringBoot整合Mybatis连接Oracle数据库
|
6天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
37 2

推荐镜像

更多