zoukankan      html  css  js  c++  java
  • JAVA处理Clob大对象

    BLOB就是使用二进制保存数据。 如:保存位图。 CLOB使用CHAR来保存数据。 如:保存XML文档。

    1、创建Clob对象
    下面的代码段说明了如何创建一个Clob对象,其中rs是一个ResultSet对象:
    Clob clob = rs.getClob(1);
    变量clob现在可以被用于在CLOB值上执行操作,而假设这CLOB值保存在结果集rs的第一列中。

    FileInputStream fis1 = new FileInputStream("D:/test.txt");
    pstmt.setBinaryStream(1, fis1, fis1.available());
     

    2、物化Clob数据
    和物化Blob的方式一样。不过Clob接口提供了三种方法达到将CLOB作

    为一个Java对象的形式保存在客户的内存中。
    ①使用getAsiiStream把CLOB值物化为一个包含Ascii字节的字符流。
    Clob notes = rs.getClob(“NOTES”);
    java.io.InputStream in = notes.getAsciiStream();
    byte b = in.read();

    ②    使用getCharacterStream把CLOB值物化为一个Unicode字符流。
    Clob notes = rs.getClob(“NOTES”);
    java.io.Reader reader = notes.getCharacterStream();
    int c = reader.read();

    ③    使用getSubString将CLOB值的全部或者部分化为一个String对象。

    Clob notes = rs.getClob(4);
    String substring= notes.getSubString(10,5);

    或者

    long len =notes.length();
    String substring = notes.getSubString(1,(int)len);


    3、存储、更新Clob对象和存储、更新Blob对象类似。(具体见再上次的博客) 

  • 相关阅读:
    7.1类模板
    异质链表
    8.1多态性
    8.2虚函数
    error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”
    #include <QPushButton>
    6.3多重继承
    华为集群后killsql命令和查看mr占用的磁盘空间
    linux的逻辑运算符
    test命令
  • 原文地址:https://www.cnblogs.com/hainange/p/6153229.html
Copyright © 2011-2022 走看看