String s1=
"1231dsdgasd的飒飒大"
;
Clob c =
new
SerialClob(s1.toCharArray());
//String 转 clob
Blob b =
new
SerialBlob(s1.getBytes(
"GBK"
));
//String 转 blob
// 也可以这样不传字符集名称,默认使用系统的
// Blob b = new SerialBlob(s1.getBytes());
String clobString = c.getSubString(
1
, (
int
) c.length());
//clob 转 String
String blobString =
new
String(b.getBytes(
1
, (
int
) b.length()),
"GBK"
);
//blob 转 String
// 前面若没传入字符集名称,则这里也不需要传入,以免出错
// String blobString = new String(b.getBytes(1, (int) b.length()));
System.out.println(clobString);
System.out.println(blobString);
/**
* Blob类型 转 String类型
* @param blob
* @return
* Blob类型 转 String类型
* @param blob
* @return
*import java.sql.Blob;
*/
public static String blobToString(Blob blob){
String result = "";
if ( blob != null ){
InputStream is;
try {
is = blob.getBinaryStream();
ByteArrayInputStream bais = (ByteArrayInputStream)is;
byte[] byte_data = new byte[bais.available()];
bais.read(byte_data,0,byte_data.length);
result = new String(byte_data,"utf-8");
is.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
*/
public static String blobToString(Blob blob){
String result = "";
if ( blob != null ){
InputStream is;
try {
is = blob.getBinaryStream();
ByteArrayInputStream bais = (ByteArrayInputStream)is;
byte[] byte_data = new byte[bais.available()];
bais.read(byte_data,0,byte_data.length);
result = new String(byte_data,"utf-8");
is.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
相关推荐
CLOB、BLOB 与 CLOB 与 BLOB 的区别 CLOB(Character Large OBject)是一种数据库类型,用于存储大型字符对象。它是 SQL 类型,用于存储字符大对象(Character Large Object),将字符大对象存储为数据库表某一行中...
在数据库编程领域,CLOB(Character Large Object)和BLOB(Binary Large Object)是用于存储大量文本和二进制数据的数据类型。在DELPHI中,处理这些大型对象时需要特殊的技术和策略。本篇文章将深入探讨DELPHI中...
在处理CLOB类型时,MyBatis需要将Java对象中的String或Reader类型数据转换为CLOB,以便存储到数据库中。 1. **CLOB类型数据的插入** 当你需要将一个字符串或者Reader对象插入到CLOB字段时,MyBatis默认可能无法...
MyBatis 提供了对 CLOB 和 BLOB 类型的内置支持,通过将 CLOB 类型映射到 Java 的 String 类型,BLOB 类型映射到 byte[] 类型。 在使用 MyBatis 时,需要在实体类中定义对应的字段类型,例如: ```java public ...
Java 中处理 Clob 和 Blob 类型的注解配置 Java 中处理 Clob 和 Blob 类型的注解配置是一种常见的处理大规模数据的方法。Clob(Character Large OBject)类型和 Blob(Binary Large OBject)类型是数据库中两种常用...
在上面的代码中,`SerialBlob`是JDBC API提供的一个类,用于将字节数组转化为Blob对象,而`StringClob`可能需要特定的库来实现,如Apache Commons Lang的`StringUtils.toClob()`方法。 在检索大型对象时,Hibernate...
这篇博客“使用Jdbc4操作Blob,Clob”将深入讲解如何利用JDBC4 API来处理Blob和Clob对象。 Blob通常用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储大量文本数据,如长篇的文本或XML文档。在JDBC4中...
- 在MySQL中,`CLOB`对应`TEXT`类型,`BLOB`对应`BLOB`类型。 - 在DB2或Oracle中,`CLOB`与`BLOB`类型则与数据库自身的`CLOB`和`BLOB`类型相对应。 2. **Java对象与`CLOB`、`BLOB`的映射** - 当在领域模型...
- Clob -> CLOB - Byte[] -> binary, varbinary - Serializable -> 使用Blob存储序列化对象 二、配置映射文件(.hbm.xml) 在Hibernate中,我们需要通过映射文件定义每个实体类与数据库表之间的映射关系。例如...
例如,Oracle有BLOB、CLOB类型,而MySQL有LONGBLOB、LONGTEXT。 6. **JPA与ORM框架中的大对象处理**: 如果使用Hibernate等ORM框架,它们提供了对大对象的集成支持,例如Hibernate的`@Lob`注解,可以自动处理Blob...
- BLOB和CLOB:用于存储大对象,与MySQL的BLOB和TEXT对应。 - DATE:包含日期和时间信息,与MySQL的DATE和DATETIME类似。 - FLOAT:浮点数,与MySQL的FLOAT和DOUBLE PRECISION相似。 - VARCHAR2:可变长度的字符...
总的来说,了解 MySQL、Oracle 和 Java 之间的数据类型对应关系有助于开发者更好地设计数据库结构,确保数据的正确存储和转换,同时也有利于 Java 应用程序与数据库之间的交互。在进行跨平台开发时,这些对应关系尤...
此外,不同数据库管理系统(如MySQL、PostgreSQL、Oracle等)对Clob字段的支持和操作可能会有所不同,因此在使用时需要查阅相应的数据库文档。 总结,ActiveXObject和Clob字段分别代表了客户端脚本与服务器端组件的...
然后,你可以通过`ResultSet`的`getBytes()`方法获取BLOB数据,并将其转换为Java的`byte[]`数组。同样,当你保存BLOB字段时,你需要将`byte[]`数组传递给MyBatis的映射方法。 请注意,处理大对象时要特别小心,因为...
此外,该驱动还提供了处理大数据类型的能力,如BLOB、CLOB和日期/时间类型。 在实际开发中,为了优化性能和管理数据库连接,通常会配合使用连接池,如C3P0、Apache DBCP或HikariCP。这些连接池库允许在多个请求之间...
在Oracle数据库中,Blob类型用于存储大量的二进制数据,如图片、音频文件或文档等。在处理大量Blob数据时,传统的单条插入方式可能会导致性能低下,因为每条SQL语句都需要与数据库进行交互,这会增加网络传输和...
例如,Java的String对应MySQL的VARCHAR或Oracle的VARCHAR2,Java的Integer对应MySQL的INT或Oracle的NUMBER。 对比三者的数据类型,可以发现一些共性,如整数类型都有对应的表示,但细节上有所不同。例如,Java的int...
MySQL 提供了四种 Blob 类型:TinyBlob、Blob、MediumBlob 和 LongBlob,它们分别可以存储不同大小的数据。 - **TinyBlob**:最大支持 255 字节。 - **Blob**:最大支持 \(2^{16}\) 字节(即 65,535 字节)。 - **...
`photo`属性使用`BlobByteArrayType`类型,这允许Hibernate将字节数组转换为Blob类型,并存储在`PHOTO`列中。 ```xml <hibernate-mapping> <!-- ... --> </hibernate-mapping> ``` 接下来,我们关注...
此外,还有Blob、Clob、BigDecimal等复杂类型。 了解并熟练掌握这些知识点,将使你在使用JDBC进行数据库操作时游刃有余。通过不断实践和学习,你将能够高效地利用JDBC构建健壮的Java数据库应用程序。