在Java中,你可以使用java.sql.Blob
类的getBytes
方法将BLOB数据转换为字节数组,然后使用java.nio.charset.StandardCharsets
类提供的字符集将字节数组转换为字符串。以下是一个简单的示例代码:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.nio.charset.StandardCharsets;
import java.sql.Blob;
public class BlobToString {
public static void main(String[] args) {
Connection conn = null; // 获取数据库连接
String query = "SELECT blob_column FROM table_name WHERE id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, 1); // 假设你要查询的ID是1
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
Blob blob = rs.getBlob("blob_column");
byte[] data = blob.getBytes(1, (int) blob.length());
String text = new String(data, StandardCharsets.UTF_8);
System.out.println(text);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
确保替换conn
的获取方式,query
的SQL语句和参数设置,以及字段名与你的数据库结构相匹配。这段代码假设你的BLOB数据是以UTF-8编码的字符串,如果不是,你需要相应地更改字符集。
DB是hana cloud,但是没开doc store,现在在看minghui写的xml 转json的代码,做一些测试