- 浏览: 277101 次
文章分类
- 全部博客 (79)
- spring相关 (9)
- hibernate相关 (6)
- struts相关 (3)
- Agent(Aglet平台) (3)
- Struts+Spring+Hibernate (3)
- 集文 (0)
- 数据库 (1)
- java2技术 (2)
- mysql (5)
- Ajax (4)
- Lucene全文检索 (1)
- UML (2)
- JavaScript (0)
- Ant (2)
- 电子商务 (0)
- Log4j (3)
- ROR(Ruby on Rails) (0)
- EJB (2)
- javaEE相关 (1)
- Jsp (5)
- Rose建模 (0)
- 设计模式 (1)
- 数据结构与算法 (0)
- compass (2)
- CVS (4)
- Tomcat (3)
- Jboss (3)
- Eclipse(Myeclipse) (4)
- 计算机相关的技巧 (4)
- 个人经验总结 (0)
- 正则表达式 (3)
最新评论
-
juedi:
是挺不错的,简单明了
Spring技巧之活用FactoryBean -
zhengJackson:
...
MyEclipse 快捷键 -
buralin:
非常不错.简单,明了.
Spring技巧之活用FactoryBean -
zdjray:
写的很好很清晰
Spring技巧之活用FactoryBean -
justdo2008:
如果使用now()插入的时间为 0000-00-00 00:0 ...
在MYSQL中插入当前时间
如果要將 將檔案存入資料庫,我們在JDBC中可以使用CLOB與BLOB來分別針對文字檔案與二進位檔案進行儲存,Spring中可以透過JdbcTemplate來處理CLOB與BLOB。
舉個例子來說,假設您的MySQL資料庫表格如下:
假設我們現在分別讀進一個文字檔案與二進位檔案,並想將之儲存至資料庫中,則我們可以使用JdbcTemplate,例如:
JdbcTemplate中傳入了AbstractLobCreatingPreparedStatementCallback的實作,並傳入一 個 LobHandler,對於MySQL(MS SQL Server或Oracle 10g),這邊使用DefaultLobHandler即可,對於Oracle 9i特定的LOB處理,我們可以使用OracleLobHandler。
如果要從資料庫中將資料讀取出來,並另存為檔案,我們可以使用以下的程式:
在使用Spring搭配Hibernate時,可以簡化對Lob型態的處理,只要在SessionFactory建構時指定LobHandler,例如:
* beans-config.xml
在這邊指定LobHandler時,對於MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而對於Oracle 9i,則可以使用OracleLobHandler。
接下來的操作與一般對HibernateTemplate的操作無異,例如您的資料庫表格為:
Spring的ClobStringType可以將CLOB映射至String,而BlobByteArrayType可以將BLOB映射至byte[],所以我們可以設計一個User類別如下:
* User.java
Use.hbm.xml沒什麼特別的:
* User.hbm.xml
以下是個簡單的儲存與讀取Lob的程式片段示範:
舉個例子來說,假設您的MySQL資料庫表格如下:
1 |
CREATE TABLE test ( |
假設我們現在分別讀進一個文字檔案與二進位檔案,並想將之儲存至資料庫中,則我們可以使用JdbcTemplate,例如:
1 |
final File binaryFile = new File("c:\\workspace\\wish.jpg"); |
JdbcTemplate中傳入了AbstractLobCreatingPreparedStatementCallback的實作,並傳入一 個 LobHandler,對於MySQL(MS SQL Server或Oracle 10g),這邊使用DefaultLobHandler即可,對於Oracle 9i特定的LOB處理,我們可以使用OracleLobHandler。
如果要從資料庫中將資料讀取出來,並另存為檔案,我們可以使用以下的程式:
1 |
final Writer writer = new FileWriter("c:\\workspace\\test_bak.txt"); |
在使用Spring搭配Hibernate時,可以簡化對Lob型態的處理,只要在SessionFactory建構時指定LobHandler,例如:
* beans-config.xml
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName">
- <value>com.mysql.jdbc.Driver</value>
- </property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/demo</value>
- </property>
- <property name="username">
- <value>root</value>
- </property>
- <property name="password">
- <value>123456</value>
- </property>
- </bean>
- <bean id="lobHandler"
- class="org.springframework.jdbc.support.lob.DefaultLobHandler" />
- <bean id="sessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
- destroy-method="close">
- <property name="dataSource">
- <ref bean="dataSource" />
- </property>
- <property name="lobHandler">
- <ref bean="lobHandler" />
- </property>
- <property name="mappingResources">
- <list>
- <value>onlyfun/caterpillar/User.hbm.xml</value>
- </list>
- </property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">
- org.hibernate.dialect.MySQLDialect
- </prop>
- </props>
- </property>
- </bean>
- <bean id="hibernateTemplate"
- class="org.springframework.orm.hibernate3.HibernateTemplate">
- <property name="sessionFactory">
- <ref bean="sessionFactory" />
- </property>
- </bean>
- </beans>
在這邊指定LobHandler時,對於MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而對於Oracle 9i,則可以使用OracleLobHandler。
接下來的操作與一般對HibernateTemplate的操作無異,例如您的資料庫表格為:
1 |
CREATE TABLE user ( |
Spring的ClobStringType可以將CLOB映射至String,而BlobByteArrayType可以將BLOB映射至byte[],所以我們可以設計一個User類別如下:
* User.java
1 |
package onlyfun.caterpillar; |
Use.hbm.xml沒什麼特別的:
* User.hbm.xml
xml 代码
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <class name="onlyfun.caterpillar.User" table="user">
- <id name="id" column="id">
- <generator class="native" />
- </id>
- <property name="txt" column="txt" />
- <property name="image" column="image" />
- </class>
- </hibernate-mapping>
以下是個簡單的儲存與讀取Lob的程式片段示範:
1 |
ApplicationContext context = |
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1064190
发表评论
-
对Spring中接口注入的几种方式的理解及实例分析
2007-01-07 20:28 6444对Spr ... -
项目中spring分层开发
2007-01-07 20:08 2185项 ... -
AOP的学习
2006-12-09 12:55 1512AOP正在成为软件开发的下一个圣杯。使用AOP ... -
spring与Ajax的整合
2006-10-13 21:06 2872作者: qukmei 保留原作的出处:http://w ... -
Spring技巧之活用FactoryBean
2006-10-13 21:04 14566Spring中有两种类型的Bean,一种是普通Bean,另一种 ... -
spring中处理struts
2006-10-13 21:02 1842[/b][list][url]Struts Recipes ... -
Spring网上学习资源,很不错的
2006-10-13 20:52 8569Spring英文资源 Spring官方网站 http:// ... -
Spring 编程入门十大问题解答
2006-10-13 20:48 22051、如何学习Spring? 你可以通过下列途径学习spr ...
相关推荐
BLOB 类型用于存储二进制数据,可以存储图片、音乐、视频等文件。在 Oracle 数据库中,BLOB 类型对应的数据库类型是 BLOB,在 MySQL 中对应的类型是 BLOB。 MyBatis 提供了对 CLOB 和 BLOB 类型的内置支持,通过将 ...
CLOB通常用于存储大文本数据,如文章、报告等,而BLOB则用于存储二进制大数据,如图片、音频或视频文件。 首先,我们来了解Spring的JdbcTemplate,它是Spring JDBC模块的核心组件,提供了一种简化数据库操作的抽象...
Clob 类型用于存储大规模的字符数据,而 Blob 类型用于存储大规模的二进制数据。在 Java 中,处理 Clob 和 Blob 类型需要使用特殊的注解配置来确保正确地读取和写入数据。 一、Clob 类型的注解配置 在 Java 中,...
Oracle数据库是企业级应用广泛采用的关系型数据库系统,它也支持BLOB类型来存储大量的二进制数据,如图像、音频或视频文件。在Spring框架中操作Oracle数据库中的BLOB字段,我们需要了解一些关键概念和步骤。 首先,...
BLOB(Binary Large Object)是二进制大对象的缩写,通常用于存储大量的二进制数据,如图片、音频或视频文件等。在Oracle数据库中,BLOB类型是一种专门用来存储大量二进制数据的数据类型。 ### 二、创建包含BLOB...
在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large Object)。本文将详细介绍如何在Spring与Hibernate...
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB字段常被用来存储超过4000字节的信息。Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和...
Blob通常用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储大量文本数据,如长篇的文本或XML文档。在JDBC4中,处理LOB对象变得更为直接和高效,主要归功于新增的`java.sql.Blob`和`java.sql.Clob`接口...
### 图片存储数据库——CLOB类型 #### 一、引言 在开发Web应用程序时,...此外,对于非常大的图片文件,可能还需要考虑使用BLOB(Binary Large Object)类型来存储原始二进制数据,或者采用其他更加高效的存储方案。
1. **Blob/Clob类型**:对于大文本或二进制数据,可以使用数据库的Blob(Binary Large Object)和Clob(Character Large Object)类型。Hibernate2支持将Java的`java.sql.Blob`和`java.sql.Clob`对象映射到数据库的...
4. **BLOB/CLOB处理**:在Hibernate中,BLOB用于存储二进制大数据,CLOB用于存储字符大数据。在配置实体类时,可以指定对应的字段为这些类型。 5. **批处理**:在进行大量大字段操作时,可以使用批处理更新或插入,...
JPA 2.0引入了更多特性,如 Criteria 查询、Entity Graph、二进制大对象(Blob/Clob)支持等,提高了开发者的工作效率和代码的可维护性。JPA可以通过ORM(对象关系映射)框架,如Hibernate,将Java对象与数据库表...
在Spring框架中,LOB(Large Object)字段通常用于存储大数据,如BLOB(Binary Large Object)用于二进制数据,如图片或文档,CLOB(Character Large Object)用于字符数据,如长文本。本篇文章将深入探讨如何在...
它支持复杂的数据类型,如BLOB(二进制大对象)和CLOB(字符大对象),并提供了高级的索引策略,如位图索引和函数索引。Oracle还提供了丰富的安全特性和强大的备份恢复机制。 整合这些组件意味着创建一个包含Spring...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
在Oracle数据库中,LOB字段主要有BLOB(Binary Large Object)和CLOB(Character Large Object)两种类型,分别用于存储二进制和字符数据。处理这些字段时,我们需要配置Hibernate的实体类和映射文件。 在实体类中...
Blob(Binary Large Object)是数据库中用于存储二进制大对象的类型,常用于存储图片、音频、视频等文件。 首先,我们来看`Learner`类,这是Java对象的映射,代表了数据库中的`LEARNER`表。`Learner`类包含学员的...
Hibernate4相较于之前的版本,优化了查询性能,支持了更多的JPA标准,并引入了二进制大型对象(Blob/Clob)的处理。 “sshtest”可能是一个整合了SSH三个框架的示例项目,用于演示如何在实际开发中将它们集成在一起...
- **二进制数据处理**:探讨了Spring JDBC中处理二进制数据的方法,如BLOB和CLOB类型。 - **其他JdbcTemplate实现**:概述了除了默认的JdbcTemplate之外,还有哪些其他的实现可供选择。 ### 第三章:使用Spring与...