在struts2中,FileInputStream怎么转化为BLOB 20

我用的是iBatis,不是Hibernate,所以没有Hibernate.createBlob()方法。求指教... 我用的是iBatis,不是Hibernate,所以没有Hibernate.createBlob()方法。求指教 展开
 我来答
0613032107
2013-07-15 · TA获得超过347个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:210万
展开全部
ibatis中的文件字段处理问题解决如下【以图片文件为例】:

对象中属性的定义:
private oracle.sql.BLOBuser_photo;

提取出的配御数据存储:
public class ImageHandler {
private byte[] image;

publicbyte[] getImage() {
returnimage;
}

publicvoid setImage(byte[] image) {
this.image= image;
}
}

Ibatis.xml文件中的配置:
<resultMap id="ZgxxByIdMap"class="Image">
<resultproperty="image" column="USER_PHOTO" jdbcType="BLOB" javaType="[B"/>
</resultMap>

图片提取存储过程:
StringfileName = ServletActionContext.getServletContext()
.getRealPath(
"userPhoto"+ "/" + ZgxxVoTc.getUserid() + ".jpg");
Filefile = new File(fileName);
ImageHandlerimageHandler = zgxxService.getZgxxById((String) map
.get("仿银USER_ID"));
if(file.exists()) {
file.delete();
}
BufferedOutputStreambos = new BufferedOutputStream(
newFileOutputStream(file));
bos.write(imageHandler.getImage());
bos.flush();
bos.close();

在页面中显示:
<img src="${pageContext.request.contextPath}/userPhoto/<s:propertyvalue="zgxxVo.userid"/>.jpg" width="150px"height="200px"备卖宴 alt="Picture inside aparragraph" />
更多追问追答
追问
说好不用Hibernate.createBlob()的,我用的数据持久层是iBatis
追答
iBatis处理文件内容字段的时候是用的二进制流来进行中转的,并非hibernate那样用的blob对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式