- 浏览: 289735 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
SpringJava:
摘过来的
小心使用ArrayList和LinkedList -
jingjing0907:
我要成为第一个赞的人!呵呵,
小心使用ArrayList和LinkedList -
SpringJava:
cilendeng 写道应该用ConcurrentHashMa ...
实现单用户登陆session先进先出(session踢出) -
lingxiajiudu:
不错,完美解决我了的问题,赞一个。
子窗体给父窗体传值 javascript opener -
cilendeng:
应该用ConcurrentHashMap
实现单用户登陆session先进先出(session踢出)
来自:http://esffor.iteye.com/blog/168264
数据库脚本:
Hibernate.cfg.xml
<! DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<!-- Generated by MyEclipse Hibernate Tools. -->
< hibernate-configuration >
< session-factory >
< property name ="connection.username" > root </ property >
< property name ="connection.url" >
jdbc:mysql://localhost:3306/schoolproject?characterEncoding=gb2312 & useUnicode=true
</ property >
< property name ="dialect" >
org.hibernate.dialect.MySQLDialect
</ property >
< property name ="myeclipse.connection.profile" > mysql </ property >
< property name ="connection.password" > 1234 </ property >
< property name ="connection.driver_class" >
com.mysql.jdbc.Driver
</ property >
< property name ="hibernate.dialect" >
org.hibernate.dialect.MySQLDialect
</ property >
< property name ="hibernate.show_sql" > true </ property >
< property name ="current_session_context_class" > thread </ property >
< mapping resource ="Search/Clob_Blob/TestCB.hbm.xml" />
</ session-factory >
</ hibernate-configuration >
POJO:
import java.sql.Blob;
import java.sql.Clob;
public class TestCB ... {
private String id; // 标识id
private String name; // 学生姓名
private Blob photo;
private Clob description;
public String getId() ... {
return id;
}
public void setId(String id) ... {
this .id = id;
}
public String getName() ... {
return name;
}
public void setName(String name) ... {
this .name = name;
}
public Blob getPhoto() ... {
return photo;
}
public void setPhoto(Blob photo) ... {
this .photo = photo;
}
public Clob getDescription() ... {
return description;
}
public void setDescription(Clob description) ... {
this .description = description;
}
}
TestCB.hbm.xml
<! DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
< hibernate-mapping package ="Search.fetch" >
< class name ="Search.Clob_Blob.TestCB" table ="testcb" lazy ="true" >
< id name ="id" column ="id" unsaved-value ="null" >
< generator class ="uuid.hex" ></ generator >
</ id >
< property name ="name" column ="name" type ="string" ></ property >
< property name ="photo" column ="photo" type ="blob" ></ property >
< property name ="description" column ="description" type ="clob" ></ property >
</ class >
</ hibernate-mapping >
准备一个图片sample.jpg放在Clob_Blob包下
写Blob和Clob测试代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Blob;
import java.sql.Clob;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Test ... {
public static void main(String[] args) ... {
String filePath = System.getProperty( " user.dir " ) + File.separator + " src/Search/Clob_Blob " + File.separator + " hibernate.cfg.xml " ;
File file = new File(filePath);
SessionFactory sessionFactory = new Configuration().configure(file).buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try ... {
String imgPath = System.getProperty( " user.dir " ) + File.separator + " src/Search/Clob_Blob " + File.separator + " sample.jpg " ;
FileInputStream fis = new FileInputStream(imgPath);
Blob photo = Hibernate.createBlob(fis);
Clob description = Hibernate.createClob( " this is description " );
TestCB testcb = new TestCB();
testcb.setName( " tom1 " );
testcb.setPhoto(photo);
testcb.setDescription(description);
session.save(testcb);
tx.commit();
} catch (FileNotFoundException e) ... {
e.printStackTrace();
} catch (IOException e) ... {
e.printStackTrace();
}
}
}
、
运行后,在mysql客户端中可以看到已经成功保存:
运行读取测试代码:
package
Search.Clob_Blob;
import
java.io.BufferedReader;
import
java.io.File;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.InputStream;
import
java.io.Reader;
import
java.sql.Blob;
import
java.sql.Clob;
import
java.sql.SQLException;
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.hibernate.Transaction;
import
org.hibernate.cfg.Configuration;
public
class
TestRead
...
{
public
static
void
main(String[] args)
...
{
String filePath
=
System.getProperty(
"
user.dir
"
)
+
File.separator
+
"
src/Search/Clob_Blob
"
+
File.separator
+
"
hibernate.cfg.xml
"
;
File file
=
new
File(filePath);
SessionFactory sessionFactory
=
new
Configuration().configure(file).buildSessionFactory();
Session session
=
sessionFactory.openSession();
Transaction tx
=
session.beginTransaction();
//
读取clob和blob
String imgPath
=
System.getProperty(
"
user.dir
"
发表评论
-
Hibernate乐观锁实现之Timestamp
2009-10-22 14:53 965来自:http://esffor.iteye.com/blog ... -
Hibernate乐观锁实现之Version
2009-10-22 14:41 1228Hibernate乐观锁实现之Version 来 ... -
什么是ORM?
2009-04-24 12:09 1111持久化层封装了数据访 ... -
不要依赖hibernate的二级缓存
2009-04-24 12:00 911一、hibernate的二级 ... -
hibernate优化
2009-04-24 11:59 1723本文依照HIBERNATE帮 ... -
Hibernate缓存管理
2009-04-24 11:59 7431. Cache简介: 缓存(Cac ... -
Hibernate查询条件封装对象Expression介绍
2009-04-24 11:56 1201Criteria Query是Hibernate提供的将SQ ... -
Hibernate中双向关联加载排序的解决方案
2009-04-24 11:55 936问题:Hibernate的<many-to-man ... -
Hibernate性能优化
2009-04-24 11:54 1542有很多人认为Hibernate天生效率比较低,确实,在普遍 ... -
java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
2009-04-24 11:53 1042Java数据类型 Hibernate ... -
让Hibernate输出SQL语句参数配置
2009-04-24 11:52 22814在J2ee应用中,如果采用Hibernate框架,可以自动 ... -
Hibernate3调用存储过程用法
2009-04-24 11:49 1727DB2中简单存储过程 selectAllUsers CRE ... -
Hibernate二级缓存攻略
2009-04-24 11:48 766很多人对二级缓存都不 ... -
EhCache的使用
2009-04-24 11:47 8131.EhCache是什么 EhCache ...
相关推荐
例如,你可以通过`setBinaryStream`和`getBinaryStream`方法读写Blob数据,通过`setCharacterStream`和`getCharacterStream`方法读写Clob数据。 在保存或更新带有Clob和Blob字段的实体时,Hibernate会自动处理这些...
这篇博客文章“Hibernate操作Oracle中Clob、Blob字段小结”可能会探讨如何在Hibernate中有效地处理这两种类型的数据。 1. **Clob与Blob的理解**: - Clob:Clob是用于存储大量字符数据的类型,例如长篇文章、XML...
在Java的持久化框架Hibernate中,BLOB和CLOB是用来处理大数据对象(Binary Large Object和Character Large Object)的。这两个类型常用于存储图像、视频、大文本等数据,因为它们可以容纳超过数据库标准列大小限制的...
在实体类中,你可以定义一个Blob类型的属性来表示数据库中的Blob字段: ```java @Entity public class MediaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Lob ...
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB...通过以上配置和操作,你可以在Spring和Hibernate的环境中顺利地对Oracle数据库的CLOB字段进行读写,满足J2EE应用中的大数据存储需求。
例如,频繁读写CLOB可能导致性能下降,因此在设计系统时要考虑读写频率和数据量。 6. **示例代码**:在Hibernate中,读取和写入CLOB的代码可能如下: ```java // 读取 Clob clob = entity.getLongText(); ...
其中,`imageData`是Blob字段,用于存储图片数据。 3. **读取图片并转换为Blob** 使用`FileInputStream`读取图片文件,然后将其转换为`Blob`对象。可以使用`PreparedStatement`的`setBlob()`方法将Blob对象设置为...
1. **Clob类型映射**:在Hibernate的实体类中,我们需要声明一个字段来表示Clob类型的属性,并使用`@Lob`注解进行映射。例如: ```java @Lob private Clob largeText; ``` 2. **Hibernate配置**:在Hibernate的...
在Java的持久化框架Hibernate中,处理大数据字段,如文本、图像或者其他大量数据,通常涉及到CLOB(Character Large Object)和BLOB(Binary Large Object)类型。这些类型用于存储数据库中的大文本或二进制数据。...
在Oracle数据库中,LOB字段主要有BLOB(Binary Large Object)和CLOB(Character Large Object)两种类型,分别用于存储二进制和字符数据。处理这些字段时,我们需要配置Hibernate的实体类和映射文件。 在实体类中...
Hibernate2支持将Java的`java.sql.Blob`和`java.sql.Clob`对象映射到数据库的Blob和Clob字段,这样可以存储大数据而不影响其他字段。 2. **文件系统存储**:大字段数据可以存储在文件系统中,然后在数据库中仅存储...
在JPA中,这些大数据字段通常被映射为Blob(二进制大对象)或Clob(字符大对象)。映射过程涉及到定义实体类中的属性,并使用特定的JPA注解(例如`@Lob`)来指示这些属性应如何与数据库中的大数据字段对应。通过这样...
- `@Lob`: 大对象类型,如BLOB/CLOB。 - `@Transient`: 标记不会被持久化的字段。 - `@ManyToOne`, `@OneToOne`, `@OneToMany`, `@ManyToMany`: 关联关系。 **2.3 实体类写法** - 必须有无参的构造函数。 - 不能...
- **方法**:使用`Blob`和`Clob`处理大数据。 **4.8 ResultSet光标控制** - **方法**:`absolute()`, `relative()`, `previous()`等。 **4.9 ResultSet新增、更新、删除数据** - **操作**:通过`PreparedStatement...