`
yadsun
  • 浏览: 181374 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SSH框架中向数据库存取图片

阅读更多

     以前一直觉得向数据库中存图片是件挺麻烦的事情,今天自己试了一下也没有想像中的那么麻烦(虽然过程中遇到好几次莫名其妙的异常,最后发现是Oracle的包的问题),得益于Hibernate可以很好的支持java.sql.Blob属性的映射

public static void main(String[] args) {
    //获得Spring的上下文对象
    ApplicationContext ac = new ClassPathXmlApplicationContext("/applicationContext.xml");
    //存图片
    PresentDao dao = (PresentDao) ac.getBean("presentDao");

    FileInputStream fis = null;
    try {      
        ADPresent p = new ADPresent();
        p.setName("世博会吉祥物海宝钥匙扣");
        p.setDescription("纪念物品");
        p.setPrice(25.5);
        p.setQtyRemain(100L);
        Blob photo = null;
        //将图片读进输入流      
        fis = new FileInputStream("D:\\1.jpg");
        // 转成Blob类型
        photo = Hibernate.createBlob(fis);
        p.setPhoto(photo);
        dao.savePresent(p);
        fis.close();
    }  catch (Throwable t) {      
        t.printStackTrace();      
    }
}




==============ADPresent的代码==============
private Long objectRrn;
	private String name;
	private String description;
	private Double price;
	private Long qtyRemain;
	private Blob photo;

setter/getter方法


==============PresentDao的代码==============
    //使用spring的依赖注入获得sessionfactory
    private SessionFactory sf;
	
	public ADPresent savePresent(ADPresent present) throws Throwable{
		Session session = null;
		Transaction tx = null;
		try {
			session = sf.openSession();
			tx = session.beginTransaction();
             			 //使用session的save方法可以持久化Blob属性
			session.saveOrUpdate(present);
			tx.commit();
		} catch (Exception e) {
			if(tx!=null)
			    tx.rollback();
			throw e;
		} finally{
			session.close();
		}
		return present;
	}

 在写代码的过程中发生了几次数据库相关的异常信息,在屡次排除失败的情况下尝试更换oracle的类包(原来用的是ojdbc14.jar这个jar包,后来换成了%ORACLE_HOME%\product\10.2.0\db_1\jdbc\lib\下的ojdbc14_g.jar,可能换成其他的也行没有试过),问题竟然解决了(原来是oracle版本的问题)

4
0
分享到:
评论

相关推荐

    SSH框架用到的jar包,数据库是mysql

    在给定的标题和描述中,我们主要关注的是SSH框架与MySQL数据库的结合使用。 首先,Struts2作为SSH中的表现层框架,负责处理HTTP请求并提供视图渲染。它通过Action和Result来组织业务逻辑,使用Interceptor拦截器...

    java的ssh框架 学生管理系统 mysql数据库

    之后,配置SSH框架的数据库连接参数,确保程序能正确连接到你的MySQL数据库。最后,运行程序,就可以在浏览器中访问和使用这个学生管理系统了。 这个项目对于初学者来说是一个很好的学习实例,可以帮助理解SSH框架...

    SSH 完整框架(包括数据库部分)

    SSH,全称Spring、Struts、Hibernate,是Java Web开发中的三大开源框架,它们分别负责应用的业务逻辑层(Spring)、视图展示层(Struts)以及数据持久化层(Hibernate)。这个“SSH 完整框架(包括数据库部分)”应该...

    SSH框架写的CRM系统

    在这个基于SSH的CRM系统中,用户可以通过前端页面进行客户信息录入、查询、跟踪销售过程、制定营销策略等操作,而这些操作都由后台代码处理并调用SSH框架中的相关组件来实现。 **5. 页面和后台代码结构** 在没有...

    【很详细】ssh框架概述.

    SSH框架,全称为Struts+Hibernate+Spring,是Java Web开发中的一个流行组合,用于构建高效、可扩展的多层Web应用程序。这三个框架分别负责不同的职责,共同构成了强大的开发架构。 Struts是一个开源的MVC(Model-...

    SSH一个简单的SSH框架学习项目

    SSH框架是Java开发中常用的三大框架,分别是Struts、Spring和Hibernate。它们分别负责MVC模式中的表现层、业务层和服务层,形成了一个强大的企业级应用开发解决方案。 **Struts** 是一个开源的Web MVC框架,它提供...

    eclipse一个搭建好的SSH框架(经过测试)

    SSH框架是软件开发中常用的三大组件——Struts、Spring和Hibernate的组合,它们协同工作以构建高效、可维护的Java Web应用程序。Eclipse是一个广泛使用的集成开发环境(IDE),特别适合Java开发。在这个已搭建好的...

    ssh2+mysql论坛完整代码和数据库文件

    SSH2是Java开发中常见的三层架构模式,其中Spring负责管理对象和依赖注入,Struts2处理前端请求和视图展示,Hibernate则作为持久层框架,简化了数据库操作。 1. **Spring框架**:Spring是核心的IoC(Inversion of ...

    SSH框架开发JBOA办公自动化管理系统含Oracle数据库

    在这个"SSH框架开发JBOA办公自动化管理系统含Oracle数据库"项目中,我们可以深入探讨以下几个关键知识点: 1. **Struts2框架**:Struts2作为MVC(Model-View-Controller)架构的一部分,主要负责处理用户请求,管理...

    SSH框架的工作原理及搭建步骤

    - **工作流程**:在SSH框架中,Spring主要用来管理依赖关系,即将service注入到action,将dao注入到service,将Hibernate注入到dao。这样做的目的是实现各层之间的解耦,提高系统的灵活性和可维护性。 #### 二、...

    ssh配置框架实例(代码)

    在SSH框架中,Hibernate通常作为数据访问层,负责数据的存取。 **Spring** 是一个全面的应用上下文管理框架,提供依赖注入(DI)和面向切面编程(AOP)等功能。在SSH中,Spring负责协调Struts2和Hibernate,管理...

    SSH框架理论

    ### SSH框架理论详解 #### 一、SSH框架概述 SSH框架指的是**Struts + Hibernate + Spring**这三种技术的组合,它们共同构成了一个强大的企业级Java Web应用开发框架。SSH框架能够帮助开发者构建出高性能、高灵活性...

    基础SSH框架源码

    在SSH框架中,Hibernate主要负责业务逻辑层的数据存取,通过Spring的管理,实现数据库操作的透明化。 3. **Struts框架**:Struts是MVC(Model-View-Controller)设计模式的实现,主要用于Web应用的表示层控制。它...

    基于JAVA WEB的SSH框架的人力资源管理系统(源码+数据库).zip

    SSH框架是Java Web开发中的一个经典组合,由Spring、Struts和Hibernate三个开源项目组成。Spring提供依赖注入(DI)和面向切面编程(AOP),用于管理对象的生命周期和业务逻辑;Struts作为MVC(Model-View-...

    基于SSH框架的教务管理系统的开发

    ### 基于SSH框架的教务管理系统的开发 #### 概述 本文主要探讨了基于SSH(Struts+Spring+Hibernate)框架的教务管理系统的设计与实现。该系统旨在提高学校的教学管理工作效率,实现教务管理信息化。通过采用先进的...

    SSH框架jar整合

    SSH框架是Java开发中常用的三大框架整合,包括Spring、Struts和Hibernate。这些框架分别负责不同的职责:Spring作为整体的管理容器,负责依赖注入(DI)和面向切面编程(AOP),Struts则用于控制层,处理HTTP请求并...

    用SSH框架写的一个学生社团管理系统,对于新手来说是一个不错的学习SSH框架的选择,服务器用的是阿里云的,数据库是m.zip

    总结,这个学生社团管理系统是一个SSH框架的实战案例,有助于新手快速掌握SSH框架的核心技术和实际运用,同时也展示了如何在阿里云服务器上部署和运行Java Web应用,以及如何利用MySQL数据库进行数据存储。...

    SSH框架整合jar

    SSH框架,全称为Struts2、Spring和Hibernate的集成框架,是Java开发中常见的Web应用程序框架。这个压缩包"SSH框架整合jar"包含了这三个关键组件的特定版本,以确保它们可以协同工作,避免了可能的版本冲突问题。下面...

    sshjar包+数据库JAR包+ssh整合文档

    总之,SSH框架的整合涉及了Web应用的多个层面,包括视图、控制和模型。通过Struts2处理用户请求,Spring管理业务逻辑和服务,Hibernate负责数据存取,配合合适的数据库驱动,可以构建出高效、稳定的Java Web应用。...

    ssh框架项目,内含简单例子 Struts Spring Hibernate

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个项目提供了一个包含Struts2、Spring和Hibernate简单应用实例的压缩包,帮助开发者了解和学习如何在实际项目中整合...

Global site tag (gtag.js) - Google Analytics