Struts + Spring + Hibernate针对Oracle9i使用Bloc

applicationContext.xml文件

 

<!-- lobHiandler,Oracle9i使用 -->
 <bean id="lobHandler" lazy-init="true"
  class="org.springframework.jdbc.support.lob.OracleLobHandler">
  <property name="nativeJdbcExtractor">
   <ref bean="nativeJdbcExtractor" />
  </property>
 </bean>

 
 <bean id="nativeJdbcExtractor" lazy-init="true"
  class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" />

 

<!-- 配置sessionFactory -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation">
   <value>classpath:hibernate.cfg.xml</value>
  </property>
  <property name="lobHandler" ref="lobHandler"/>
 </bean>

 

//头像和指纹图片
  FormFile photo = managerForm.getPhoto();
  if( null!=photo){
   proManager.setPhoto(photo.getFileData());
  }
  FormFile Finger_mark = managerForm.getFinger_mark();
  if( null!= Finger_mark ){
   proManager.setFinger_mark(Finger_mark.getFileData());
  }

ActionForm和POJO都改为byte[] , Hibernate会自动映射为Blob字段

 

 

/**
  * 显示图片
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return null
  * @throws Exception
  */

 public ActionForward disPic(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  
  //获取容器
  ProjectManagerService proService = (ProjectManagerService)getBean("projectServiceImpl");

 

  //得到ID
  String id = request.getParameter("id").trim();
  String img = request.getParameter("img").trim();

  //根据ID查询对象
  ProjectManager proManager = proService.searchID(id);

  //判断显示头像还是指纹
  byte[] blob = null;
  if("photo".equals(img)){
   blob = proManager.getPhoto();
  }
  if("finger".equals(img)){
   blob = proManager.getFinger_mark();
  }
  

  //这里用的是ServletOutputStream;
   ServletOutputStream out = response.getOutputStream();
     out.write(len);
  return null;
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值