`
yinbinhome
  • 浏览: 124069 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

hibernate+mysql图片读取

阅读更多

在网上找了一些资料,自己又试验了一下,成功了!

大概过程就是,把图片文件用inputstream读取出来,变成字节码文件,把字节码存储进数据库,在数据库里用CLOB数据类型存储图片。下面是代码:

packageimage;

importjava.awt.image.BufferedImage;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.sql.SQLException;
importjava.util.Date;
importjava.util.List;

importjavax.imageio.ImageIO;

importmany2many.HbnUtil;
importmany2many.Student;

importorg.hibernate.Hibernate;
importorg.hibernate.HibernateException;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.Transaction;

publicclassTest...{

/***//**
*
@paramargs
*
@throwsException
*/

publicstaticvoidmain(String[]args)throwsException...{
//insert();
show();
}

publicstaticPersonshow()throwsException...{
Sessions
=null;
Transactiontran
=null;
Stringhql
="fromPerson";
try...{
s
=HbnUtil.getSession();
tran
=s.beginTransaction();
Queryquery
=s.createQuery(hql);
Listlist
=query.list();
System.out.println(list.size());
inti=0;
for(Personperson:(List<Person>)list)...{
intlen=(int)person.getBl().length();
byte[]temp=person.getBl().getBytes(1,len);
Stringdir
="c:/temp/temp_"+person.getName()+".jpg";
FileOutputStreamfos
=newFileOutputStream(dir);
fos.write(temp);
}

tran.commit();
}
catch(HibernateExceptione)...{
e.printStackTrace();
tran.rollback();
}
finally...{
HbnUtil.releaseSession(s);
}

returnnull;
}

publicstaticvoidinsert()throwsException...{
Sessions
=null;
Transactiontran
=null;

try...{
FileInputStreamfis
=newFileInputStream("c:/temp/112.jpg");
System.out.println(fis.available());
Personperson
=newPerson();
person.setName(
"teng");
person.setBl(Hibernate.createBlob(fis));

s
=HbnUtil.getSession();
tran
=s.beginTransaction();
s.save(person);
fis.close();
tran.commit();
}
catch(HibernateExceptione)...{
e.printStackTrace();
tran.rollback();
}
finally...{
HbnUtil.releaseSession(s);
}

}


}

分享到:
评论

相关推荐

    struts2+hibernate+mysql实现注册登录

    Hibernate提供了CRUD(创建、读取、更新、删除)操作,使得无需编写大量的SQL语句就能完成数据的增删改查。 **MySQL** 是一个广泛使用的开源关系型数据库管理系统,它存储用户注册和登录的相关信息,如用户名、密码...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    Struts2、Spring、Hibernate和MySql这四个技术是Java Web开发中常用的一套经典组合,被称为SSH框架。这个注册登录系统就是利用这些技术构建的。下面将详细讲解这套组合的相关知识点。 首先,Struts2是一个强大的MVC...

    Struts2+Spring+Hibernate+Jsp+Mysql5 项目申报系统.zip

    在项目申报系统中,Hibernate可能是用来映射数据库表到Java对象,进行CRUD(创建、读取、更新、删除)操作,并处理复杂的查询。 4. **JSP(JavaServer Pages)**:JSP是用于创建动态网页的Java技术。在视图层,JSP...

    纯净的spring+hibernate+mysql

    【纯净的Spring+Hibernate+MySQL】项目是一个典型的Java Web应用示例,它将Spring MVC、Hibernate ORM框架与MySQL数据库相结合,以实现用户登录、注册等基础功能。在本项目中,Spring MVC作为控制层,负责处理HTTP...

    Spring+Jersey+Hibernate+MySQL+HTML实现用户信息CRUD案例源码

    本案例主要展示了如何使用Spring、Jersey、Hibernate和MySQL这些技术来实现一个完整的用户信息管理系统的后端逻辑,并结合HTML进行前端展示,实现用户信息的创建(Create)、读取(Read)、更新(Update)和删除...

    struts2+hibernate+Mysql开发图书管理系统

    Hibernate支持CRUD(创建、读取、更新、删除)操作,并提供了事务管理,保证了数据的一致性和完整性。通过HQL(Hibernate查询语言)或 Criteria API,开发者可以方便地进行复杂的数据查询。 再来谈谈MySQL,作为...

    struts+hibernate+mysql做的增删改查小例子

    在本例中,Hibernate会与MySQL数据库进行交互,创建、读取、更新和删除用户和部门的相关记录。testhibernate.sql文件很可能是用于初始化数据库的SQL脚本,包含了创建表结构和预填充数据的命令。 在实际运行中,用户...

    Struts2 + Hibernate + mysql

    Struts2、Hibernate和MySQL是Java Web开发中的三个重要组件,它们构成了经典的MVC(Model-View-Controller)架构中的关键技术。在这个框架中,Struts2作为表现层框架,负责处理用户请求并控制应用程序流程;...

    SpringMVC+Hibernate +MySql+ EasyUI实现CRUD

    在IT行业中,构建Web应用程序是常见的任务,而SpringMVC、Hibernate、MySql和EasyUI是四个关键的技术组件,常用于构建这样的应用。本篇文章将深入探讨这些技术以及如何将它们整合起来实现CRUD(创建、读取、更新、...

    springboot+hibernate+gradle+mysql的简单例子

    在本例中,Hibernate作为数据访问层,负责将Java实体类与MySQL数据库中的表进行映射,实现了对数据库的操作,如CRUD(创建、读取、更新、删除)。 3. **Gradle**:Gradle是一个强大的自动化构建工具,它允许定义...

    struts+hibernate+css+mysql 网上书店

    【标题】"struts+hibernate+css+mysql 网上书店"是一个基于Java技术的Web应用程序,它利用了Struts、Hibernate、CSS和MySQL数据库这四大核心技术来实现一个完整的在线图书销售平台。 【Struts】Struts是Apache软件...

    spring+struts2+hibernate+json+dtree+mysql实现的无限级联树(全)

    本项目"spring+struts2+hibernate+json+dtree+mysql实现的无限级联树(全)"是一个典型的企业级应用示例,它综合了前端与后端的多种技术,实现了数据的动态展示和交互。下面将详细解析该项目中的主要技术及其应用。 1...

    spring+hibernate 分页 +mysql

    这里我们讨论的是结合Spring、Hibernate和MySQL实现的分页功能,这是一个常见的技术栈组合,广泛应用于Web应用开发。 Spring是一个开源的Java框架,它提供了全面的编程和配置模型,用于构建企业级应用。Spring的IoC...

    struts+hibernate+spring+mysql做的jsp应用系统

    Struts、Hibernate、Spring 和 MySQL 是Java Web开发中常见的四大技术框架,它们组合起来可以构建高效、可维护的Web应用程序。本项目“struts+hibernate+spring+mysql做的jsp应用系统”是一个完整的示例,旨在帮助...

    网上书城系统(Struts+Hibernate+Mysql)

    在本项目中,Hibernate将实体类(如书籍、用户等)映射到数据库表,通过SessionFactory和Session对象进行CRUD(创建、读取、更新、删除)操作。同时,Hibernate支持HQL(Hibernate查询语言),使得SQL查询更加直观和...

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223

    【标题】"项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223"是一个基于Java技术栈的web应用程序,主要用于处理项目申报流程。这个系统利用了Struts2作为MVC框架,Spring作为依赖注入容器,Hibernate作为...

    SpringBoot+hibernate+mysql+sqlserver双数据源

    在SpringBoot中,通过Spring Data JPA,我们可以方便地集成Hibernate,实现数据的CRUD(创建、读取、更新、删除)操作。在双数据源的场景下,Hibernate可以分别配置两个不同的数据源,从而实现数据在不同数据库间的...

    Hibernate+MySQL包

    【标题】"Hibernate+MySQL包"所涉及的知识点主要集中在两个方面:Hibernate框架与MySQL数据库的结合使用。Hibernate是Java领域的一个开源的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向...

    hibernate+mysql基本原理示例

    在JSP页面中,可以通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来访问和显示由Hibernate获取的数据。 六、示例应用 在"hibernate+mysql基本原理"示例中,可能包含了一个简单的...

    Maven+struts2+Hibernate+mysql增删改查

    在IT行业中,构建Web应用程序是常见的任务之一,而"Maven+Struts2+Hibernate+MySQL"的组合是一种经典的Java EE开发框架,用于实现高效的数据库操作和动态网站功能。以下将详细解析这一组合中的各个组件及其在增删改...

Global site tag (gtag.js) - Google Analytics