数据库Clob类型字段解决办法

Spring开发中遇到,数据库Clob类型字段解决办法

首先明白,clob字段:
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。
下面是对lob数据类型的简单介绍。
blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。
clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
bfile:二进制文件;存贮在数据库之外的只读型二进制数据,最大长度由操作系统限制。
nclob:支持对字节字符集合(nultibyte characterset)的一个clob列。
简而言之,clob类型可以存储很长的字段。
在实际开发中,我们会经常遇到clob类型无法强转等错误,此时我们首先确定你所定义的实体类中的clob字段是否为clob字段类型(大部分人会不小心定义成string),在实体类中,clob类型字段前需加@Lob。如果确定无误的话,加这个方法就可以了。
private String clob2Str (Clob clob){
String content = “”;
try {
Reader is = clob.getCharacterStream();
BufferedReader buff = new BufferedReader(is);// 得到流
String line = buff.readLine();
StringBuffer sb = new StringBuffer();
while (line != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(line);
line = buff.readLine();
}
content = sb.toString();
} catch (Exception e) {
log.error(“java.sql.Clob类型转java.lang.String类型出错…”+e.getCause());
e.printStackTrace();
}
return content;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值