java 实现读取clob

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的详细内容,更多关于java 读取clob的资料请关注我们其它相关文章!

(0)

相关推荐

  • java 数组转list的两种方式

    方式一 String[] array = {"111","222","333"}; List<String> list = Arrays.asList(array); // list.add("444"); list.remove(0); 如上图所示,不可进行新增或删除元素的操作. Arrays.asList(array),返回的List是具有固定长度的私有静态内部类java.util.Arrays.ArrayLi

  • java 根据身份证号码判断出生日期、性别、年龄的示例

    1.情景展示 如何根据身份证号,计算出出生日期.性别.年龄? 2.解决方案 从网上找的别人的,因为并没有实际用到,所以并未对其优化! /**  * 通过身份证号码获取出生日期.性别.年龄  * @param certificateNo  * @return 返回的出生日期格式:1990-01-01 性别格式:F-女,M-男  */ public static Map<String, String> getBirAgeSex(String certificateNo) {     String

  • java byte数组与16进制间相互转换的示例

    1.准备工作 import java.util.Arrays; /** * Byte[]与hex的相互转换 * @explain * @author Marydon * @creationTime 2018年6月11日下午2:29:11 * @version 1.0 * @since * @email marydon20170307@163.com */ public class ByteUtils { // 16进制字符 private static final char[] HEX_CHAR

  • Java如何读取配置文件并赋值静态变量

    应用场景 项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为null的方式Objects.equals().由于我写的这个工具类中需要读取配置文件中的内容,可是常规方式注入成员变量时都不是静态的,不 能直接调用,比如这种方式: @Data @Component public class GBaseApiConfig { @Value("${gbase.api.pr

  • java读取word文档,提取标题和内容的实例

    使用的工具为poi,需要导入的依赖如下 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <arti

  • Java读取Oracle大字段数据(CLOB)的2种方法

    Oracle数据库中有一个字段是CLOB类型,使用java 解析. 1.使用java解析clob类型内容 public String clobToString(Clob c) { StringBuffer sb = new StringBuffer(1024); Reader instream = null; try { instream = c.getCharacterStream(); char[] buffer = new char[(int) c.length()]; int lengt

  • java读取html文件,并获取body中所有的标签及内容的案例

    这里的获取的是html文件中body中的所有标签以及内容 package com.lmt.service.file; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import org.springframework.stereotype.Component; i

  • Java使用FileInputStream流读取文件示例详解

    一.File流概念 JAVA中针对文件的读写操作设置了一系列的流,其中主要有FileInputStream,FileOutputStream,FileReader,FileWriter四种最为常用的流 二.FileInputStream 1)FileInputStream概念  FileInputStream流被称为文件字节输入流,意思指对文件数据以字节的形式进行读取操作如读取图片视频等 2)构造方法 2.1)通过打开与File类对象代表的实际文件的链接来创建FileInputStream流对象

  • java 压缩图片(只缩小体积,不更改图片尺寸)的示例

    1.情景展示 在调用腾讯身份证OCR接口的时候,由于要求图片大小只能限制在1MB以内,这样,就必须使用到图片压缩技术 2.代码展示 /**  * 图片处理工具类  * @explain  * @author Marydon  * @creationTime 2019年9月3日上午10:14:17  * @version 1.0  * @since  * @email marydon20170307@163.com  */ public class ImgUtils {     /**      

  • java 实现读取clob

    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;

  • java简单读取properties配置文件的方法示例

    本文实例讲述了java简单读取properties配置文件的方法.分享给大家供大家参考,具体如下: 读取配置文件,小结如下 import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class loadConf { private Properties prop = new Properties(); private void loadconf() t

  • 浅谈Java工程读取resources中资源文件路径的问题

    正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资源文件 java类中需要读取properties中的配置文件,可以采用文件(File)方式进行读取: File file = new File("src/main/resources/properties/basecom.properties"); InputStream in = new

  • Java递归读取文件例子_动力节点Java学院整理

    Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class Recursion{ public static void main(String[] args) { String fileName="D:"+File.separator; File f=new File(fileName); printFile(f); } public static void printFile(File f){ if(f!=null){

  • 详解五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

  • java实现读取、删除文件夹下的文件

    java实现读取.删除文件夹下的文件 package test.com; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; public class ReadFile { public ReadFile() { } /** * 读取某个文件夹下的所有文件 */ public static boolean readfile(String filepath) throws Fi

  • JAVA中读取文件(二进制,字符)内容的几种方法总结

    JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代码,需要的可以直接复制使用 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); In

  • Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

    本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOEx

  • java遍历读取xml文件内容

    本文实例讲解了java遍历读取xml文件内容的详细代码,分享给大家供大家参考,具体内容如下 package test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; imp

  • Java文件读取写入后 md5值不变的实现方法

    假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: StringBuffer sb = new StringBuffer(); Reader rd = null; BufferedReader br = null; rd = new FileReader("E:/绮萝酶是女装的男孩子.html"); br = new BufferedReader(r

随机推荐