Mytatis 学习之 ORACLE 中 CLOB 数据类型
- 1、Oracle 数据库 Varchar2 4000 限制
- 2、使用 Clob 类型字段代替 Varchar2
- 3、Springboot + Mybatis + Oracle 中如何处理
- 如果库中字段需要从 VARCHAR2 变为 CLOB,怎么办呢?
1、Oracle 数据库 Varchar2 4000 限制
在 ORACLE
中,VARCHAR2
最大存储字节为 4000
,超过 4000
会报 ORA-01704
错
2、使用 Clob 类型字段代替 Varchar2
为了存储更多的字节,可以采用 CLOB
类型字段。但是,ORACLE
中 CLOB
字段存储时 默认使用 VARCHAR2 存储
,还会报 ORA-01704
错。
3、Springboot + Mybatis + Oracle 中如何处理
- 在
Mytatis plus
版本为3.5.0
时,不需要特殊处理,框架支持更多内容的存储 -
JavaBean
中String
接收CLOB
字段内容
如果库中字段需要从 VARCHAR2 变为 CLOB,怎么办呢?
ORACLE
不支持
直接更改表字段类型
可以通过如下方法解决:
- 导出表结构 sql 脚本 和 表内容 sql 脚本
- 手动更改表结构脚本字段类型为 CLOB
- 删除原有表
- 执行表结构创建,表数据插入
- 对于超过 4000 的数据,手动编辑插入