java 读取clob

CreationTime--2018年7月1日09点41分

Author:Marydon

1.说明

  jdbc 数据类型为Clob,与java的String类型相对应。

2.导入

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.sql.Clob;

3.代码实现

public List<Map<String, Object>> queryForList() {
List<Map<String, Object>> rowList = new ArrayList<Map<String, Object>>();
String driver = "";
String url = "";
String username = "";
String password = "";
String sql = "";
log.info("查询sql条件:" + sql);
try {
// 加载驱动程序,此处运用隐式注册驱动程序的方法
Class.forName(driver);
log.info("加载驱动成功!");
} catch (ClassNotFoundException e) {
log.error("加载驱动程序,此处运用隐式注册驱动程序的方法出错:" + e.getMessage());
e.printStackTrace();
}
try {
// 创建连接对象
Connection con = DriverManager.getConnection(url, username, password);
// 创建sql执行对象
Statement st = con.createStatement();
// 执行sql语句并返回结果集
ResultSet rs = st.executeQuery(sql);
// 获得结果集结构信息,元数据
ResultSetMetaData rsmd = rs.getMetaData();
// 获得列数
int columnCount = rsmd.getColumnCount();
// 用于接收每行数据
Map<String, Object> rowData = null;
// clob类型
Clob clob = null;
// clob转成String
String clobString = "";
while (rs.next()) {
rowData = new HashMap<String, Object>();
for (int i = 1; i <= columnCount; i++) {
// 判断数据类型是否为Clob
if (rs.getObject(i) instanceof Clob) {// Clob转String
clob = (Clob) rs.getObject(i);
clobString = clob.getSubString((long) 1, (int) clob.length());
rowData.put(rsmd.getColumnName(i), clobString);
} else {
rowData.put(rsmd.getColumnName(i), rs.getObject(i));
} }
rowList.add(rowData);
} // 关闭相关的对象
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
return rowList;
}

相关推荐:

 

java 读取clob的更多相关文章

  1. Java 读取clob字段的几种方法

    Java 读取clob字段的几种方法 一.第一种 Clob clob = rs.getClob("remark");//Java.sql.Clob String detailinf ...

  2. java读取clob字段的几种方法

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380143fd3d1027fa3c215cc790f1a06 ...

  3. java读取clob字段的几种方法(转)

    http://blog.csdn.net/tanksyg/article/details/49927897 第一种 Clob clob = rs.getClob("remark") ...

  4. java 操作CLOB类型数据

    clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...

  5. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  6. 【转】Java读取matlab的.mat数据文件

    参考:Java读取mat文件 下载链接:ujmp  jmatio 下载完两个.jar文件之后,如何引用到java项目当中?项目名称->右键->Property->Java Build ...

  7. java读取输入流

    java读取输入流两种 private static byte[] readStream(InputStream in){ if(in==null){ return null; } byte[] bu ...

  8. Java读取Level-1行情dbf文件极致优化(3)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

  9. Java读取Level-1行情dbf文件极致优化(2)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

随机推荐

  1. 使用Numpy验证Google GRE的随机选择算法

    最近在读<SRE Google运维解密>第20章提到数据中心内部服务器的负载均衡方法,文章对比了几种负载均衡的算法,其中随机选择算法,非常适合用 Numpy 模拟并且用 Matplotli ...

  2. Orchard 前台权限与自定义权限

    一:关于前台权限 1:只允许自己看到 首先,我们需要确定在 Role 设置页面,用户所对应的 View Page by others 和 View all content 未被选中.备注,我们首先和得 ...

  3. JAVA 项目中使用 H2 数据库

    为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个jar包即可,所以非常的方便. 项目中导入H2 将H2的jar包放到classpath里即可,我是用的maven,ma ...

  4. [转]Sqoop-1.4.4工具import和export使用详解

    FROM :http://shiyanjun.cn/archives/624.html Sqoop可以在HDFS/Hive和关系型数据库之间进行数据的导入导出,其中主要使用了import和export ...

  5. PO BO VO DTO POJO DAO概念及其作用(附转换图)

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

  6. hyper-V下虚拟机连接外网,怎么才能将Hyper-V 的虚拟机接入互联网?

    现在情况是这样的: windows hyper-V主机IP: 192.168.20.3 hyper-v虚拟网卡IP:192.168.20.13 虚拟机1IP:192.168.20.21 同一局域网主机 ...

  7. [置顶] 不刷机让越狱后的iphone恢复出厂设置

    iphone越狱后,设置里的清除所有内容和设置选项是不生效的,选上之后菊花转个不停,只能强制退出,还有白苹果的危险. 若想恢复出厂设置有两个办法: 一.刷机 最直接的办法,我觉得itunes配合ito ...

  8. 升级项目到Vs2010,编译时出现:MSB6006: “LC.exe”已退出,解决方法

    最近装了Vs2010 准备把一些项目,升级到.Net 4.0 在编译时,总是出现 MSB6006: “LC.exe”已退出 的错误.很是郁闷.刚开始以为是第三方控件的,去掉了,也不行.后来在网上找了一 ...

  9. 轻松搞定 easyui datagrid 二次加载的问题(转)

    对于使用url方式的初学者,经常碰到重复请求的问题,这个问题的根源是因为一旦设置了url参数,Datagrid组件在实例化的时候就会做请求,如何避免二次加载这样问题呢,个人觉得注意以下两点基本就可以防 ...

  10. Reboot server stuck at “Press ESC in 1 seconds to skip startup.nsh”

    I have a Cisco C240 server, and everytime after reboot, it will got stuck at screen like below. To r ...