快速业务通道

利用Hibernate储存大对象到达梦数据库 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
t;2" align="center">    <input type="submit" value=" 确 认 ">   </td>   </tr>   <tr>   <td colspan="2" align="center">&nbsp;<font id="info" color="red"><%=message %></font></td>   </tr> </table> </form>

处理业务逻辑类:

public class TestLobAction extends DispatchAction{    public ActionForward save(ActionMapping mapping, ActionForm form,      HttpServletRequest request, HttpServletResponse response) throws Exception { try{   //设置文件标题   String title = request.getParameter("title");   TestLob testLob = new TestLob();   testLob.setTitle(title);   //处理blob字段   Hashtable files = form.getMultipartRequestHandler().getFileElements();   FormFile blobTestFile = (FormFile) files.get("blobTest"); //得到文件   String blobName = blobTestFile.getFileName(); //得到文件名   testLob.setBlobName(blobName); //设置文件   byte[] blobContent=blobTestFile.getFileData(); //得到文件内容   testLob.setBlobContent(blobContent); //设置文件内容   //处理clob字段   String clobName = title; //文件名就是标题名   String clobContent = request.getParameter("clobTest"); //得到文件   testLob.setClobName(clobName); //设置文件名   testLob.setClobContent(clobContent); //设置文件   TestLobService testLobService = TestLobService.getInstance();   if(testLobService.createTestLob(testLob)==0){    request.setAttribute("message", "上传失败");    return list(mapping,form,request,response);   }   }catch(Exception e){   throw new BaseException();   }   request.setAttribute("message", "上传成功");   return list(mapping,form,request,response); } }

利用Hibernate储存大对象到达梦数据库(4)

时间:2011-03-07 IT专家网 徐欣

因为clob字段对应的是String类型,所以可以直接将表单中得到的数据设置到对象的属性中去,而blob类型处理的是二进制类型的文件,我们需要将得到的文件以流的形式存入到对象的属性中,这里我使用了struts的FormFile组件来进行文件的上传,将得到的数据流设置到对象的属性中。

完成以上操作后我们就可以将设置好的对象用以下面的方法保存数据到数据库中:

首先定义一个Hibernate的Session管理类:HibernateUtil.java,它是使用ThreadLocal类建立的一个Session管理的辅助类。

package com.dm.lobtest.util;    import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory;    public class HibernateUtil {      private static SessionFactory sessionFactory = null;    public static final ThreadLocal session = new ThreadLocal();    public static Session currentSession() throws HibernateException {          if (sessionFactory == null) {              if (getSystemSessionFactory() == false) {                  throw new HibernateException(                          "Exception geting SessionFactory ! ");            

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号