durid连接池返回NClobProxyImpl类型

最后更新:2024-09-08 05:30:01 | 状态:未完成

在读取clob类型的数据时返回了com.alibaba.druid.proxy.jdbc.NClobProxyImpl

对于基础类型与官方驱动内置类型 anyline可以转换成项目运行实际需要的类型,如把clob类型转换成String

如pg驱动中的point转换成double[]或Point对象

但其他类型则按原样返回,因为没有依赖无法实现

需要在项目中注册一个reader/writer实现在遇到此类型时如何读写

DataReaderFactory.reg(new Object[]{NClobProxyImpl.class}, new DataReader() {
    @Override
    public Object read(Object value) {
	if(value instanceof NClobProxyImpl){
	    try {
		NClobProxyImpl clob = (NClobProxyImpl) value;
		long len = clob.length();
		if (len > 0) {
		    return clob.getSubString(0, (int)len);
		}
	    }catch (Exception e){
		e.printStackTrace();
	    }
	}
	return value;
    }
});

首页 最近更新 搜索 提交 回复