java - 如何在java中将Blob转换为字符串和字符串转换为Blob

标签 java jdbc blob

我正在尝试使用

从 BLOB 数据类型中获取字符串
Blob blob = rs.getBlob(cloumnName[i]);
byte[] bdata = blob.getBytes(1, (int) blob.length());
String s = new String(bdata);

它工作正常,但是当我要将 String 转换为 Blob 并尝试插入数据库时​​,没有任何东西插入数据库。我使用以下代码将 String 转换为 Blob:

String value = (s);
byte[] buff = value.getBytes();
Blob blob = new SerialBlob(buff);

谁能帮我在 Java 中将 Blob 转换为 StringString 转换为 Blob

最佳答案

试试这个(a2 是 BLOB col)

PreparedStatement ps1 = conn.prepareStatement("update t1 set a2=? where id=1");
Blob blob = conn.createBlob();
blob.setBytes(1, str.getBytes());
ps1.setBlob(1, blob);
ps1.executeUpdate();

即使没有 BLOB 也可以工作,驱动程序会自动转换类型:

   ps1.setBytes(1, str.getBytes);
   ps1.setString(1, str);

此外,如果您使用文本 CLOB 似乎是一种更自然的 col 类型

关于java - 如何在java中将Blob转换为字符串和字符串转换为Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17400497/

相关文章:

java - 使用 Firebase 自动生成的 key 返回帖子特定数据

java多线程cpu利用率

java - 无法在 eclipse 中连接到新的 SQL Server

java - 连接到 AS400 DB2 服务器 JDBC 时出错

c# - Umbraco v6.1 的 FileSystemProvider

java - 我如何从第 10 行读取(例如)代码的第 5 行?

java - 使用 Gradle 运行 JUnit 时设置自定义安全管理器

postgresql - java - PSQLException : ERROR: syntax error at or near "$1"

python - 在 Python 中显示 Blob 图像 (App Engine)

javascript - 将 javascript blob 变量放入音频的 src 中