【发布时间】:2015-11-19 06:21:25
【问题描述】:
我有一个表,其中 2 个字段是 Varchar 和 Blob 类型。当我使用 queryForMap 检索它们时,我得到一个带有两个键(列名)的地图实例。我可以简单地将 varchar 转换为 String,但是让 ClassCast Exception 对 Object 做同样的事情。
file = new File(System.currentTimeMillis() + (String) map.get("SAMPLE_DOC_FILE_NAME"));
blob = (Blob) map.get("SAMPLE_DOC");
我的DAO层方法是:
public Map<String, Object> getSampleDoc1(String docName) throws SQLException {
String query = "select form.sample_doc_file_name as SAMPLE_DOC_FILE_NAME, form.sample_document as SAMPLE_DOC from forms form where form.document_name=?";
return localJdbcTemplateObject.queryForMap(query, docName);
}
例外 - java.lang.ClassCastException: [B cannot be cast to java.sql.Blob
我该怎么做才能将该对象作为 Blob 取回?
【问题讨论】:
-
图像可以使用“byte[]”数据类型,它会在数据库中转换为BLOB类型
-
System.out.println(yourBlob.getClass().getName());在这个对象上,然后使用这个类。
-
@Ramaraj,我在检索后遇到了问题。
-
@KrzysztofCichocki,你能解释一下吗?
标签: java mysql spring spring-jdbc