首页
学习
活动
专区
圈层
工具
发布

Java向Oracle数据库表中插入CLOB、BLOB字段

在需要存储较长字符串到数据库中时往往需要使用一些特殊类型的字段,在Oracle中即blob和clob字段,一般而言:Clob字段存储字符信息,比如较长的文字、评论,Blob字段存储字节信息,比如图像的base64...操作场景 主要有三种场景: 仅对已知表中的某一字段写入Blob和Clob字段的值 更新已知表中全部字段的值(均为Blob和Clob字段) 插入数据中带有部分需要插入Blob和Clob字段的数据 总结来看...(String,Integer) 在给出代码前,注意几点: Blob和Clob需要单独处理,即一个SQL语句无法完成上述需求 整个过程分为三部分:组装SQL语句、第一遍插入、第二次插入Blob和Clob...对象后强制转换为oracle.sql.BLOB oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(bList.get(i))...empty_blob() 如何通过主键值来进行第二次插入 如何插入Blob和Clob字段 如果你有更好的方法或者是对该文章有任何的疑问或想法,请在下方留言,我会第一时间回复的!

8.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)

    主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A、B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键。...数据库为mysql ---- 主键为自增时(主键为数值类型且自增)   利用mysql的LAST_INSERT_ID()方法获取插入记录的主键,select LAST_INSERT_ID()可以在插入数据后...,查询并返回刚插入数据的主键(但是单独执行这条语句只会返回0)。...背 景数据库为oracle: 主键为自增时(主键为数值类型):   在oracle中实现主键自增,需要先创建序列,相当于创建一个全局变量,用来存储对应表的主键的当前最大值(主键为数值类型时)。   ...,address) values (#{userId},#{userName},#{birthday},#{sex},#{address}) 主键为UUID时   用oracle

    3.1K20

    Oracle查询优化-04插入、更新与删除数据

    4.1 插入新记录 问题 向表中插入一条新的记录。 解决方案 使用带有values子句的insert语句来插入一行。...---- 4.5多表插入语句 oracle从9i开始可以用一条insert语句实现向多个表中插入数据 Oracle Insert all有三种情况: 一、无条件 INSERT ALL 二、条件...; 2、对于每个由子查询返回的行, Oracle 服务器执行每一个 insert_into_clause一次。...; 2、Oracle 服务器通过相应的 WHEN 条件过滤每一个 insert_into_clause,确定是否执行这个 insert_into_clause; 3、一个单个的多表插入语句可以包含最多...注:多表 INSERT 语句上的约束 a、你只能在表而不能在视图上执行多表插入; b、你不能执行一个多表插入到一个远程表; c、在执行一个多表插入时,你不能指定一个表集合表达式; d、在一个多表插入中

    2.1K10

    Oracle BLOB 实时同步为什么这么难?一次看懂背后的 5 个技术挑战

    但在Oracle日志中,这些变更并不会天然表现为一条完整的UPDATE。对于BLOB字段,LogMiner中通常会出现定位目标行、定位目标列、写入数据片段、按偏移位置覆盖、提交或回滚等多个离散事件。...这里的关键不是简单拼接,而是要识别同一个BLOB对象产生的所有相关片段,并按Oracle日志语义完成还原。...更复杂的是,Oracle日志中还可能出现按指定偏移位置覆盖写入的情况。也就是说,最终结果不一定是把所有片段按出现顺序拼起来,而是要符合源端BLOB的写入语义。...从Oracle源库的结果看,这次修改从未生效。但如果同步系统提前把BLOB内容写入目标端,就会造成源端和目标端状态不一致。...下面这些场景,通常都需要重点关注相关处理能力:合同、票据、图片、影像、业务附件等BLOB字段的实时同步。Oracle向数据库、数据仓库、大数据平台等目标端的实时迁移或持续同步。

    15510
    领券