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();
}
}

Java中Clob类型转换成String类型的问题的更多相关文章

  1. oracle Clob类型转换成String类型

    转载:https://www.cnblogs.com/itmyhome/p/4131339.html Clob类型转换成String类型 oracle中表结构如下: create table GRID ...

  2. Clob类型转换成String类型

    oracle中表结构如下: create table GRID_RESOURCE ( ID VARCHAR2(50), CNNAME VARCHAR2(50), TYPE VARCHAR2(50), ...

  3. oracle.sql.Clob类型转换成String类型

    方法一: public String ClobToString(Clob clob) throws SQLException, IOException { String reString = &quo ...

  4. java中char类型转换成int类型的两种方法

    方法一: char ch = '9'; if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf ...

  5. java中int转成String位数不足前面补零

    java中int转成String位数不足前面补零 转载自:http://ych0108.iteye.com/blog/2174134 java中int转String位数不够前面补零 String.fo ...

  6. 如何将Object类型转换成String类型

    1. Object.toString() obj.toString() 注意:必须保证Object不是null值,否则将抛出NullPointerException异常. 2. (String)Obj ...

  7. Java,double类型转换成String,String装换成double型

    今天,老师布置了小系统,银行用户管理系统,突然发现自己的基础知识好薄弱,就把这些记录一下, double类型转化string:Double.toString(double doub); String类 ...

  8. java从Object类型转换成double类型

    java从Object类型转换为double类型: Map<String,Object> map = new HashMap<String,Object>(); map.put ...

  9. java中null转换成其它类型

    对null进行强转会不会抛错.测试结果是,如果把null强转给对象,是不会抛异常的,因为本身对象是可以为null的.但是如果是基本类型,比如 int i = (Integer)obj的强转,其实内部会 ...

随机推荐

  1. 二、$CSS部分

    1.css sprite是什么,有什么优缺点 概念:将多个小图片拼接到一个图片中.通过background-position和元素尺寸调节需要显示的背景图案. 优点: 减少HTTP请求数,极大地提高页 ...

  2. Altera的Cyclone系列器件命名规则

    Altera的Cyclone系列器件命名规则如下 器件系列 + 器件类型(是否含有高速串行收发器) +  LE逻辑单元数量 + 封装类型 + 高速串行收发器的数量(没有则不写) + 引脚数目 + 器件 ...

  3. python 验证码处理

    一. 灰度处理,就是把彩色的验证码图片转为灰色的图片. 二值化,是将图片处理为只有黑白两色的图片,利于后面的图像处理和识别 # 自适应阀值二值化 def _get_dynamic_binary_ima ...

  4. 包装类的使用与Junit单元测试类

    包装类: 针对八种基本数据类型定义相应的引用类型,使之有了类的特点,就可以调用类的方法 基本数据类型 包装类 boolean Boolean byte Byte short Short int Int ...

  5. C# 根据BackgroundWoker异步模型和ProgressBar控件,自定义进度条控件

    前言 程序开发过程中,难免会有的业务逻辑,或者算法之类产生让人能够感知的耗时操作,例如循环中对复杂逻辑处理;获取数据库百万乃至千万级数据;http请求的时候等...... 用户在使用UI操作并不知道程 ...

  6. Ubuntu18.04兼容Python2.7、Python3.6、Python3.8以及pip、pip2、pip3问题

    Ubuntu18.04兼容Python2.7.Python3.6.Python3.8以及pip.pip2.pip3问题 此为记录我重装Ubuntu后安装Python的过程 安装Python3.8 目前 ...

  7. css 禁用浏览器滚动条,初始最外层包含容器 wrapper

    浏览器默认的视窗会随着滚动条滚动,绝对定位的元素会随着滚动条滚动,为了解决这个问题我们需要禁止浏览器的滚动条,然后在代码的最外层初始化一个 div(最外层包含容容器代替默认的视窗),是滚动天出现在最外 ...

  8. Jmeter 样例 之 JDBC请求-操作MySql数据库

    准备: 1.MySql的驱动jar包:mysql-connector-java-5.1.28.jar, 2.jmeter安装目录中修改编码格式:\bin\jmeter.properties   :sa ...

  9. Java实现 LeetCode 494 目标和

    494. 目标和 给定一个非负整数数组,a1, a2, -, an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面. 返回可 ...

  10. Java实现 LeetCode 88 合并两个有序数组

    88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元 ...