Hibernate操作Blob,将Blob转换为String

public String getScenicCoord(String pk) {
log.debug("根据景区唯一标示获取景区坐标!");
String sql = "select wkt from JQGEO where id = '" + pk + "'";
String result = "";
try {
Connection conn = getSession().connection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet set = ps.executeQuery();
if(set.next()) {
Blob blob = set.getBlob(1);
//这种方式看起来没有什么问题,但是数据类型及参数未知的错误会在莫名的情况下出现
//int len = (int)blob.length();
//byte[] bt = blob.getBytes(0, len);
//String str = new String(bt);

//这种转换后的方式倒是能够正常的将二进制流转换为String类型数据
InputStream in = blob.getBinaryStream();
int size = in.available();
byte[] by = new byte[size];
in.read(by);
result = new String(by);
}
}catch (Exception e) {
log.error("根据景区唯一标示获取景区坐标失败!");
result = null;
try {
throw e;
} catch (Exception e1) {
e1.printStackTrace();
result = null;
}
}
return result;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

链诸葛

真爱了。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值