Ⅰ java 中 blob轉字元串
//字元串轉blob
String str="哈哈哈哈哈哈";
java.sql.Blob bl=new SerialBlob(str.getBytes());
//blob轉字元串
BufferedReader bf=new BufferedReader(new InputStreamReader(bl.getBinaryStream()));
String temp="";
StringBuffer sb=new StringBuffer();
while((temp=bf.readLine())!=null)
{
sb.append(temp);
}
System.out.println(sb.toString());
Ⅱ java String類型和blob類型轉換
如果你的數據真的是 String ,那按理就是用 Clob 嘛。
Blob 主要用於二進制內容,比如圖片,附件。
如果保持資料庫表結構不變的話,用 blob 也行,但你需要在讀取和寫入兩頭明確地指定相同的字元集,否則讀取這個還原過程會得到不到期望的結果。只要我們用支持這種字元的字元集理論上來說,只要編碼和解碼的過程使用相同的字元集就不會失真,如果字元集本身不支持這個字元(比如你拿一個只有康熙字典中才有的古漢字用 GB2312 字元集去處理就會失真,而用 UTF8 就可能正常,因為只要這個字元真的能被輸入法錄入到電腦中基本上它就已經表示有辦法能處理它)。
PreparedStatement 中有 setBlob (JDBC 4.0) 或 setBinaryStream (早期) 方法。但你需要測試你使用的驅動程序是什麼版本的與資料庫是否匹配。