java - 如何使用 Spring JDBCTemplate 将 Blob 数据读入 String 对象

标签 java spring spring-boot spring-jdbc jdbctemplate

我正在尝试使用 Spring JDBCTemplate 从表中读取 blob 数据。

List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql);

for(Map<String, Object> row:rows){
    row.get("OPERATION_NAME");
    row.get("REQUEST_MESSAGE"); // this is blob
}

如何将 blob 读入 Java String 对象?

最佳答案

这似乎工作正常-

LobHandler lobHandler = new DefaultLobHandler();
List<FrontendData> frontEndDataList = jdbcTemplate.query(getResponseQuery(sessionId), new RowMapper() {
            @Override
            public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                // TODO Auto-generated method stub

                FrontendData frontEndData = new FrontendData();
                String operationName = rs.getString("OPERATION_NAME");
                frontEndData.setApiName(operationName);
                byte[] requestData = lobHandler.getBlobAsBytes(rs,"RESPONSE_MESSAGE");
                frontEndData.setResponse(new String(requestData));


                return frontEndData;
            }});

关于java - 如何使用 Spring JDBCTemplate 将 Blob 数据读入 String 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38901830/

相关文章:

java - 如何使用 java rdf4j 将 RDF 转换为漂亮的嵌套 JSON

java - 如何通过改造从 api 获取照片引用

java - 如何检查内部服务是否抛出异常?

java - 尝试使用 Spring Boot 显示自定义错误页面时出现问题

java - 如何通过 API 访问 Hadoop 计数器值?

Java Date() 给出了错误的日期

java - Android HttpURLConnection 始终未经授权的 401 响应(Spring Boot REST API)

java - 有没有一种聪明的方法来使用camel和smooks编写固定长度的平面文件

grails - Spring Boot、GORM 和单元测试

java - 从 Spring REST API 返回 HTTP 代码 200