- 浏览: 560371 次
文章分类
- 全部博客 (235)
- 数据库 (12)
- j2se (10)
- JQuery (2)
- 经验总结 (4)
- 防毒 (1)
- Struts (20)
- Spring (12)
- 项目 (3)
- 电脑维修项目 (1)
- Eclipse (2)
- JSP (13)
- mysql (5)
- Hibernate (54)
- ssh (1)
- 学习网站 (1)
- tomcat (9)
- servlet (24)
- java语言基础 (1)
- jbpm (1)
- linux (0)
- 技巧积累 (1)
- javaBean (2)
- 设计模式 (2)
- 实用的操作 (9)
- oracle (1)
- UML学习 (1)
- 版本控制 (1)
- 框架 (9)
- javaWeb基础 (13)
- c语言 (0)
- ant (0)
- 关于权限 (3)
- 真正开发有用 (5)
- javascript (2)
- 算法 (1)
- J2EE (1)
- junit (1)
最新评论
-
alleni123:
不错 一搜就搜到这个了
ssession和servletContext的比较 -
hua7381:
楼主,你真实帮了大忙了!!
万能乱码处理---url传中文 -
albrich:
1楼是正解
摘] 装了个Tomcat遇到的问题 -
JA_mcj:
ssession和servletContext的比较 -
haotw:
看了很有帮助,总算对hibernate的延迟加载有一定的了解了 ...
[转]hibernate延迟加载
java 代码
- public class User implements java.io.Serializable {
- // Fields
- private long id;
- private String name;
- private String email;
- private String addr;
- //定义Blob的pthto
- private Blob photo;
xml 代码
- <hibernate-mapping>
- <class name="org.tie.User" table="user" catalog="tie">
- <id name="id" type="long">
- <column name="id" />
- <generator class="identity" />
- </id>
- <property name="name" type="string">
- <column name="name" length="45" not-null="true" />
- </property>
- <property name="email" type="string">
- <column name="email" length="45" />
- </property>
- <property name="addr" type="string">
- <column name="addr" length="45" />
- </property>
- <!-- 映射blob类型 -->
- <property name="photo" type="blob">
- <column name="photo" />
- </property>
- </class>
- </hibernate-mapping>
两个测试方法:
java 代码
- public void testCreate(){
- User user = new User();
- user.setName("linweiyang");
- user.setAddr("beijing");
- user.setEmail("linweiyang@163.com");
- Blob photo = null;
- try {
- //将图片读进输入流
- FileInputStream fis = new FileInputStream("c:\\a.jpg");
- //转成Blob类型
- photo = Hibernate.createBlob(fis);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- user.setPhoto(photo);
- Session session = factory.openSession();
- Transaction tr = session.beginTransaction();
- session.save(user);
- tr.commit();
- session.close();
- }
- public void testRerieve(){
- Session session = factory.openSession();
- User user = (User)session.load(User.class, new Long(3));
- try {
- //从数据库中要读取出来
- InputStream is = user.getPhoto().getBinaryStream();
- //在把写到一个图片格式的文件里
- FileOutputStream fos = new FileOutputStream("c:\\linweihan.jpg");
- byte[] buffer = new byte[1024];
- int len = 0;
- //从数据库中读取到指定的字节数组中
- while((len = is.read(buffer) )!= -1){
- //从指定的数组中读取,然后输出来,所以这里buffer好象是连接inputStream和outputStream的一个东西
- fos.write(buffer,0,len);
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (IOException e){
- e.printStackTrace();
- }
- session.close();
- }
这么理解输入输出流
读入流,自然要有读入的源头,
输出也要输出到某个地方,输出一般是先要输读入,
这里连接输入和输出的是一个在内存中的字节数组buffer.这样从数据库中读到这个数组里,输出流在从这个数组中输出到特定的文件格式里.
发表评论
-
多对多双项关联
2007-12-02 16:39 4037数据库中仍然是利用一个中间表 持久化类中,都各自包含对方的集合 ... -
多对多单项关联
2007-12-02 16:02 44461.多对多单项关联 在数据库中多对多的关系,表之间设置一个中间 ... -
一对一关联
2007-12-02 14:13 3596一对一的关联 分为外键关联和主键关联 外键关联:在关系模型的表 ... -
双向的多对一或者双向的一对多
2007-12-02 00:38 3544一对多或者多对一都是从一方来看, 双向是从两个方向来看 这个时 ... -
一对多的另一个问题
2007-12-02 00:19 3275如果email 的一方设置uid 不能为空的话回报错,所以需要 ... -
做一对多遇到的几个问题(单向)
2007-12-02 00:14 3239java 代码 public class Use ... -
多对一举例(单项的,从一个方向看)
2007-12-01 23:15 3604java 代码 public class Use ... -
hibernate多对一
2007-12-01 22:59 4231处理多对一的时候 感觉关系模型多对一和一对多是一样的 在域模型 ... -
[转]Hibernate中的outer-join(二):fetch
2007-12-01 22:49 4569... -
hibernate中集合排序
2007-12-01 18:49 3670set,map可以支持内存排序和数据库排序 List什么都不支 ... -
[转] hibernate中给集合排序的方法
2007-12-01 18:47 5734<iframe style="MARGIN ... -
[转]集合类型和结果集排序
2007-12-01 18:39 3441言归正传,Hibernate中的Collection类型分为有 ... -
[转]hibernate延迟加载
2007-12-01 18:22 5938hibernate 延迟加载问题探 ... -
[转]主键自动生成办法
2007-12-01 18:11 3387... -
[转]hibernate中的 bag--解释的太好了.
2007-12-01 17:25 20387Bag是集合,与Set不同的是,Bag允许重复的元素, 在Ja ... -
hibernate值类型集合映射之Map
2007-12-01 17:02 2861java 代码 public class Use ... -
hibernate值类型集合映射之List
2007-12-01 16:43 3276java 代码 public class Use ... -
值类型映射---Set(2)
2007-12-01 13:43 3080这里自定义Email类,set里面放的是 email 类,非 ... -
值类型映射---Set(1)
2007-12-01 13:20 3366这里介绍2种不同的域模型的设计, 一种是Set里面装Strin ... -
事务的作用
2007-12-01 12:41 4529事务的作用是为了防止修改数据库, 如果只是查询那么就没必要修改 ...
相关推荐
hibernate对Blob类型字段进行数据添加.txt
使用JDBC和Hibernate来写入Blob型数据到Oracle中;使用JDBC和Hibernate来写入Blob型数据到Oracle中
JDBC+Hibernate将Blob数据写入Oracle
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
java中sqllite数据库blob数据类型的存取.docx
[问题描述] WII中对LOB对象的复制支持仅限于DB2的数据库。具体的限制请参考: ...对非DB2数据库的数据复制, 不直接支持LOB(BLOB,ClOB)等大对象...下面以一个实际的例子来说明如何将DB2中的BLOB数据类型复制到Oracle中。
Hibernate对BLOB CLOB操作,详细的操作说明
Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf
Hibernate读取blob字段
JAVA 中 SQLlite 数据库 BLOB 数据类型的存取 JAVA 中 SQLlite 数据库 BLOB 数据类型的存取是指在 JAVA 语言中使用 SQLlite 数据库来存储和读取大型二进制对象(BLOB),以便实现文件存储和读取的功能。本文将详细...
BLOB数据的存储需要使用特殊的数据类型,例如text、ntext或image数据类型。这些数据类型可以存储长度不确定的二进制数据,最大长度可达2GB。 此外,笔者还讨论了高职高专院校教育的特点和需求。在开发网络教学资源...
Mybatis 处理 CLOB、BLOB 类型数据
hibernate Blob、Clob字段的映射的例子.数据库mysql,数据库放在文件夹里面,例子的说明文章在我的csdn blog: http://blog.csdn.net/zhengcandan
PowerBuilder 提供的 BLOB(Binary Large Object)数据类型可以用来处理大型数据,包括图像、大文本、Word 文档、二进制文件和多媒体等各种数据,它的长度可以是 0~2GB 字节。我们利用 BLOB 类型的变量可以将数据...
其中,@Column 注解用于指定该字段的名称和类型,而 @Type 注解用于指定该字段的类型为 BlobByteArrayType,这是一个 Spring 提供的特殊类型,用于处理大规模二进制数据。 三、在 Spring 中配置 Blob 类型 在 ...
NULL 博文链接:https://sxpujs.iteye.com/blog/368960
struts2.1 + hibernate3.2 + spring 2.5 实现blob数据上传、下载