转换类的源码:
package com.lingran.dayang.utils;
import java.io.IOException;
import java.io.Reader;
import java.sql.Clob;
import java.sql.SQLException;
public class Clob2String
{
/**
* 数据库Clob对象转换为String
*/
@SuppressWarnings("unused")
public static String clobToString(Clob clob)
{
if(clob == null) {
return null;
}
try
{
Reader inStreamDoc = clob.getCharacterStream();
char[] tempDoc = new char[(int) clob.length()];
inStreamDoc.read(tempDoc);
inStreamDoc.close();
return new String(tempDoc);
}
catch (IOException e)
{
e.printStackTrace();
}
catch (SQLException es)
{
es.printStackTrace();
}
return null;
}
}
测试代码: 需要JUnit 4.x
package com.lingran.dayang.utils.test;
import java.sql.Clob;
import javax.sql.rowset.serial.SerialClob;
import org.junit.Test;
import com.lingran.dayang.utils.Clob2String;
import static org.junit.Assert.*;
public class Clob2StringTest {
public @Test void withNotNullClob() {
String value = "lvjian";
Clob clob = null;
try {
clob = new SerialClob(value.toCharArray());
} catch (Exception e) {
fail("fail in create Clob data..");
}
assertNotNull(clob);
String ret = Clob2String.clobToString(clob);
assertNotNull(ret);
assertEquals(ret, value);
}
public @Test void withNull() {
Clob clob = null;
String ret = Clob2String.clobToString(clob);
assertNull(ret);
}
public @Test void withEmptyValue() {
Clob clob = null;
String value = "";
try {
clob = new SerialClob(value.toCharArray());
} catch (Exception e) {
fail("fail in create Clob data..");
}
String ret = Clob2String.clobToString(clob);
assertNotNull(ret);
assertEquals(ret, "");
}
}
分享到:
相关推荐
<%... charset=gb2312″ %> <%@ page info=”database handler”%> <...@ page import=”java.sql.*”%> <%@ page import=”javax.servlet.*”%> <%@ page import=”java
031708_【第17章:Java数据库编程】_处理大数据对象(1)—处理CLOB数据笔记.pdf 031709_【第17章:Java数据库编程】_处理大数据对象(2)—处理BLOB数据笔记.pdf 031710_【第17章:Java数据库编程】_...
Null and empty string values ..................................................................... 44 XML shortcut with the p-namespace .......................................................... 44 ...
具体的java.sql.Clob, Character[], char[] 和 java.lang.String 将被持久化为 Clob 类型. java.sql.Blob, Byte[], byte[] 和 serializable type 将被持久化为 Blob 类型。 @Lob public String getFullText() { ...
Null and empty string values ..................................................................... 44 XML shortcut with the p-namespace .......................................................... 44 ...
首先数据表中的Blob字段在Java领域对象中声明为byte[]类型,而非java.sql.Blob类型。 2.数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即...
kettle通过java代码将数据库blob 字段抽取到本地文件
Javashop开发规范V2.2 版本 说明 提交人 V1.0 初稿 定义了包名、异常、事务、和路径的规范 王峰 V2.0 1. 重新整理了命名规范 2. 增加常用命词对照表 王峰 V2.1 1.增加数据库操作的说明 2.增加常用方法介绍 王峰 V...
java -jar -db sqlserver -i 11.8.126.181 -s abcd -u test -w test -f f: est.xlsx -t tmp_i -ff xls mysql例子: 登陆本机数据库的root用户,裝载a.txt的文本数据到tmp_i表,不提交 java -jar xxx.jar -db mysql -i...
8.7 String对象、StringBuilder对象和原始数据类型的特点 116 8.7.1 String对象的“equals()”和“==” 116 8.7.2 StringBuilder对象 116 8.7.3 原始数据类型的“==” 117 8.8 代码双击域onchange之后弹出iframe窗口...
string sql = "CREATE TABLE test(username varchar(20),password varchar(20))"; cmd.CommandText = sql; cmd.Connection = conn; cmd.ExecuteNonQuery(); //插入数据 sql = "INSERT INTO test VALUES...
1、在PL/SQL中写json串,无需声明json对象,只需直接拼接成格式正确的json字符串即可,因此数据库对象间json串的传递完全可以用varchar2或clob来代替。 2、结构复杂的json串节点元素值基本上可
说明: 用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP, 只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。...
在dbking中,所有的数据库数据只有五种数据类型,String、Number(BigDecimal)、Timestamp、Clob(String)、Blob(byte[]),经过反复测试后,我们会例出各种数据库数据类型到这五种类型的映射表,当然我们也有...
string sql "CREATE TABLE test username varchar 20 password varchar 20 "; cmd CommandText sql; cmd Connection conn; cmd ExecuteNonQuery ; 插入数据 sql "INSERT INTO test ...