- 浏览: 181849 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (117)
- java基础知识 (17)
- 技术积攒 (9)
- Oracle技术 (4)
- JSP技术 (6)
- Spring技术 (15)
- Linux技术 (6)
- Hibernate技术 (24)
- JPA技术 (1)
- Struts技术 (1)
- Struts2技术 (6)
- javascript知识 (4)
- myeclipse 使用技巧 (3)
- JavaEE技术 (2)
- JSTL (1)
- javamail技术 (1)
- jaf 技术 (1)
- 测试方法 (1)
- web技术积攒 (1)
- tomcat事项 (5)
- mysql使用 (1)
- 趣味题目 (2)
- 技术词汇 (1)
- EJB3.0 (2)
- weblogic 使用说明 (1)
- CSS (1)
最新评论
-
chenhao_java:
知识点五:依赖注入-自动装配依赖对象 -
黑白配:
为什么没有看见三个附件呢?
JavaMail jsp发送邮件 html格式 -
chunchong:
真晕,这样怎么能行呢
JAVA中防止SQL注入攻击类的源代码 -
Rod_johnson:
学习了!真不错
Hibernate:类继承的实现方式(二)--父子类各自一个表 -
erchong2011:
恩 很不错 学习了 简单
jsp页面自动跳转方式
java 代码
14xml 代码
36
37两个测试方法:
38
39java 代码
这么理解输入输出流
读入流,自然要有读入的源头,
输出也要输出到某个地方,输出一般是先要输读入,
这里连接输入和输出的是一个在内存中的字节数组buffer.这样从数据库中读到这个数组里,输出流在从这个数组中输出到特定的文件格式里.
2public class User implements java.io.Serializable { 3 4 5 // Fields 6 7 private long id; 8 private String name; 9 private String email; 10 private String addr; 11 //定义Blob的pthto 12 private Blob photo;13
14xml 代码
15<hibernate-mapping> 16 <class name="org.tie.User" table="user" catalog="tie"> 17 <id name="id" type="long"> 18 <column name="id" /> 19 <generator class="identity" /> 20 </id> 21 <property name="name" type="string"> 22 <column name="name" length="45" not-null="true" /> 23 </property> 24 <property name="email" type="string"> 25 <column name="email" length="45" /> 26 </property> 27 <property name="addr" type="string"> 28 <column name="addr" length="45" /> 29 </property> 30 <!-- 映射blob类型 --> [color=red]31 <property name="photo" type="blob"> [/color] 32 <column name="photo" /> 33 </property> 34 </class> 35</hibernate-mapping>
36
37两个测试方法:
38
39java 代码
40public void testCreate(){ 41 42 User user = new User(); 43 user.setName("linweiyang"); 44 user.setAddr("beijing"); 45 user.setEmail("linweiyang@163.com"); 46 Blob photo = null; 47 48 try { 49 //将图片读进输入流 50 FileInputStream fis = new FileInputStream("c:\\a.jpg"); 51 //转成Blob类型 52 photo = Hibernate.createBlob(fis); 53 54 } catch (FileNotFoundException e) { 55 e.printStackTrace(); 56 } catch (IOException e) { 57 e.printStackTrace(); 58 } 59 60 user.setPhoto(photo); 61 62 Session session = factory.openSession(); 63 Transaction tr = session.beginTransaction(); 64 session.save(user); 65 tr.commit(); 66 session.close(); 67 68 } 69 70 public void testRerieve(){ 71 72 Session session = factory.openSession(); 73 User user = (User)session.load(User.class, new Long(3)); 74 try { 75 //从数据库中要读取出来 76 InputStream is = user.getPhoto().getBinaryStream(); 77 //在把写到一个图片格式的文件里 78 FileOutputStream fos = new FileOutputStream("c:\\linweihan.jpg"); 79 80 byte[] buffer = new byte[1024]; 81 int len = 0; 82 //从数据库中读取到指定的字节数组中 83 while((len = is.read(buffer) )!= -1){ 84 //从指定的数组中读取,然后输出来,所以这里buffer好象是连接inputStream和outputStream的一个东西 85 fos.write(buffer,0,len); 86 } 87 } catch (FileNotFoundException e) { 88 e.printStackTrace(); 89 } catch (SQLException e) { 90 e.printStackTrace(); 91 } catch (IOException e){ 92 e.printStackTrace(); 93 } 94 session.close(); 95 }
这么理解输入输出流
读入流,自然要有读入的源头,
输出也要输出到某个地方,输出一般是先要输读入,
这里连接输入和输出的是一个在内存中的字节数组buffer.这样从数据库中读到这个数组里,输出流在从这个数组中输出到特定的文件格式里.
发表评论
-
关于Hibernate一个配置参数hibernate.hbm2ddl.auto
2010-03-02 08:43 1123<?xml version="1.0" ... -
Hibernate 复合主键
2009-09-25 09:13 1545[zt]hibernate复合主键 key words:hi ... -
映射文件class元素的dymanic-insert和dymanic-update的作用
2009-06-05 09:36 885SQL update语句是预先生成的,如果加上dynamic的 ... -
hibernate的各种保存方式的区别
2009-06-05 08:59 638hibernate的保存 hibernate对于对象的保存提供 ... -
Hibernate:缓存设置
2009-06-04 16:38 989缓存是介于应用程序 ... -
one-to-many的懒加载及原理分析
2009-06-04 14:42 884如果是一对多,多对一,甚至是多对多那效率就差别大了!!如果一对 ... -
one-to-one的懒加载及原理分析
2009-06-04 13:57 986Lazy=”” :告诉hibernate什么时候抓取 1 fa ... -
load方法的懒加载及原理分析
2009-06-04 11:09 1782懒加载: load方法与get ... -
Hibernate:类继承的实现方式(四)--每个具体类映射一张独立表
2009-06-04 10:58 991这种方式会把继承链的所有类保持到数据库中单独的表中,而且标语表 ... -
Hibernate:类继承的实现方式(三)--鉴别器与内连接相结合
2009-06-04 10:49 1089当子类中有的有很多自己特有的属性,而部分子类有较少的自己的属性 ... -
Hibernate:类继承的实现方式(二)--父子类各自一个表
2009-06-04 10:41 1358将继承链中的各个类映射到数据库中的一个单独的表中 domai ... -
Hibernate:类继承的实现方式(一)--父子类在同一个表中
2009-06-04 10:19 1863Hibernate对继承关系的对象的处理分为多种形式: 第一 ... -
cascade和inverse
2009-06-04 09:10 1327Cascade与inverse这两个属性都用于一对多或者多对多 ... -
关联关系的级联操作
2009-06-03 17:17 829Cascade和inverse (Employee-Depar ... -
POJO对象与映射文件 : 集合映射
2009-06-03 15:36 1223集合属性大致有两种:第一种是单纯的集合属性,如像 List、S ... -
关联关系的总结
2009-06-03 14:50 741查询的时候出现sql语句的条数: Hibernate查询输出 ... -
将一个对象(组件)作为属性,但是不想建立这个表
2009-06-03 14:38 790如果对象的某个属性为一个对象,而且不想单独对该对象建立一个表, ... -
Hibernate:多对多
2009-06-03 14:10 1031Hibernate处理多对多的情况,在操作和性能方面都不太理想 ... -
Hibernate:一对一(2)
2009-06-03 11:11 776Hibernate处理一对一的另外一种方式是:将多对一加上唯一 ... -
Hibernate:多对一
2009-06-03 11:05 883Hibernate对多对一有两种,分为单向和双向。一般都是采用 ...
相关推荐
使用Hibernate映射Blob,Clob字段,并对这些字段完成存,取功能
hibernate Blob、Clob字段的映射的例子.数据库mysql,数据库放在文件夹里面,例子的说明文章在我的csdn blog: http://blog.csdn.net/zhengcandan
第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到...
第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到...
第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到...
第3章 第一个Hibernate应用 3.1 创建Hibernate的配置文件 3.2 创建持久化类 3.3 创建数据库Schema 3.4 创建对象-关系映射文件 3.4.1 映射文件的文档类型定义(DTD) 3.4.2 把Customer持久化类映射到...
原来是BlobByteArrayType数据类型本身具体数据访问的功能,它通过LobHandler将两次数据访问的动作隐藏起来,使Blob字段的操作在表现上和其他一般字段业类型无异,所以LobHandler即是那个"苦了我一个,幸福十亿人"的...
• 属性对应的类型实现了Serializable,则属性被映射为@Basic并在一个列中保存该对象的serialized版本。 • 属性的类型为 java.sql.Clob or java.sql.Blob, 则映射到 @Lob 对应的类型。 映射主键属性 @Id 注解可将...
在dbking中,所有的数据库数据只有五种数据类型,String、Number(BigDecimal)、Timestamp、Clob(String)、Blob(byte[]),经过反复测试后,我们会例出各种数据库数据类型到这五种类型的映射表,当然我们也有...
7.3.2 一个简单的例子 7.3.3 如何通过配置使用@AspectJ切面 7.4 @AspectJ语法基础 7.4.1 切点表达式函数 7.4.2 在函数入参中使用通配符 7.4.3 逻辑运算符 7.4.4 不同增强类型 7.4.5 引介增强用法 7.5 切点函数详解 ...
7.3.2 一个简单的例子 7.3.3 如何通过配置使用@AspectJ切面 7.4 @AspectJ语法基础 7.4.1 切点表达式函数 7.4.2 在函数入参中使用通配符 7.4.3 逻辑运算符 7.4.4 不同增强类型 7.4.5 引介增强用法 7.5 切点函数详解 ...
接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。为了增加实用性,作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob...
接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。为了增加实用性,作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob...
使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...
基本Java数据类型 50 变量声明和赋值 52 引用(Reference)类型 52 存储器分配和布局 53 this引用 55 Java编码约定 56 运算符的优先级 58 升级和表达式的类型转换 62 独立实践 70 第五章:数组 71 学习目标 71 数组...
使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...
8.6 一个POJO对象只能映射为一条数据库记录 114 8.6.1 实体对象生命周期 115 8.6.2 实体对象的识别 115 8.7 String对象、StringBuilder对象和原始数据类型的特点 116 8.7.1 String对象的“equals()”和“==” 116 ...
11.1.5 映射Blob字段 134 11.1.6 定义非持久化属性 135 11.2 深入理解Domain间的关系 136 11.2.1 一对一关系 136 11.2.2 一对多关系 137 11.2.3 多对多关系 139 11.2.4 继承关系 141 11.2.5 合成关系 143 11.3 ...
但是我们可以在一个完全不同的类里定义一些拦截器,然后在任何控制器里使用@With注释来链接他们。 - 42 - Session和Flash作用域 - 42 - 04.模板引擎 - 43 - 模板语法 - 43 - Expressions: ${…} - 44 - Template ...