Java中Clob类型转换成String类型的问题
程序员文章站
2022-06-18 19:57:39
...
1.问题:
项目中使用druid+达梦数据库(基本类似Oracle),查出的Clob类型数据在运行时为ClobProxyImpl对象而不是内容,不能转为字符串
2.原代码:
map为达梦数据库或Oracle中查询结果,str为键值
Object value = map.get(str);
3.错误原因:
类型转换问题
4.解决
使用ClobProxyImpl及其方法进行转换,下标从1开始,到其长度
public String getSubString(long pos, int length) throws SQLException {
return createChain().clob_getSubString(this, pos, length);
}
public long length() throws SQLException {
return createChain().clob_length(this);
}
5.新代码:
Object value = map.get(str);
if(value instanceof ClobProxyImpl){
try {
value = ((ClobProxyImpl) value).getSubString(1,(int)((ClobProxyImpl) value).length());
} catch (SQLException e) {
e.printStackTrace();
}
}
推荐阅读
-
string '??54' (length=8)用什么函数能转换成int类型的?解决思路
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
string 类型约束的问题
-
关于js中类型转换的一些小问题
-
详解iOS开发中解析JSON中的boolean类型的数据遇到的问题
-
解决Java中由于数据太大自动转换成科学计数法的问题
-
java判断String类型是否能转换为int的方法
-
java对象转换String类型的三种方法
-
详解解密Java中的类型转换问题
-
Java中List add添加不同类型元素的讲解