`
wanglihu
  • 浏览: 919500 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

序列化和反序列化对象到 数据库

阅读更多

/*
     * 将对象转化成java.sql.Blob 
     * 要求 对象是序列化的
     
*/
    
public  java.sql.Blob ObjectToBlob(Object obj)  throws  IOException{
        
try  {
            ByteArrayOutputStream out 
=   new  ByteArrayOutputStream();
            ObjectOutputStream outputStream 
=   new  ObjectOutputStream(out);
            outputStream.writeObject(obj);
            
byte [] bytes  =  out.toByteArray();
            outputStream.close();
            
return  Hibernate.createBlob(bytes);
        } 
catch  (Exception e) {
            
//  TODO: handle exception
            System.out.println( " ObjectToBlob " );
            
return   null ;
        }        
    }
    
    
    
/*
     * 将java.sql.Blob 转化成 对象 相应对象
     * 要求 对象是序列化的
     
*/     
    
public  Object BlobToObject(java.sql.Blob desblob,Object obj)  throws  IOException{
        
try  {
            ObjectInputStream in 
=   new  ObjectInputStream(desblob.getBinaryStream());
            obj 
=   in.readObject();
            in.close();    
            
return  obj;
        } 
catch  (Exception e) {
            
//  TODO: handle exception
            System.out.println( " BlobToObject " );
            e.printStackTrace();
            
return   null ;
        }        
    }    
    

分享到:
评论

相关推荐

    C#对象序列化反序列化保存与读取和对象直接保存与读取

    此外,它们还提供了版本兼容性,允许在不同版本的代码之间序列化和反序列化对象。 在Windows Forms应用程序中,对象的序列化和反序列化常用于保存用户配置、游戏进度等信息。例如,你可以创建一个窗体的设置类,...

    学生管理系统(序列化和反序列化)

    在学生管理系统中,可能有一个专门的“数据库”文件,包含所有学生的序列化对象。每次新增、修改或删除学生信息时,系统都需要更新这个文件。 5. **性能和效率**:虽然序列化和反序列化提供了方便的数据持久化方式...

    java对象序列化和反序列化

    - 使用`ObjectInputStream`的`readObject()`方法读取序列化的字节流,会根据字节流中的信息创建和初始化对象。 3. **潜在问题**: - 安全风险:恶意构造的序列化数据可能导致代码执行,因此在反序列化时要确保...

    protobuf序列化和反序列化技术

    protobuf序列化和反序列化技术是大数据处理领域中不可或缺的一部分,尤其在实时大数据场景下,高效的数据传输和存储对性能有着直接影响。谷歌推出的Protocol Buffers(简称protobuf)是一种语言无关、平台无关的数据...

    C#和Java的序列化反序列化

    而在Java中,我们可以通过实现`Serializable`接口来使类支持序列化,或者使用`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`进行对象的序列化和反序列化。 接下来,我们讨论反序列化。反序列化是序列...

    hashtable序列化与反序列化

    在Java中,对象序列化允许我们将一个对象转换为字节流,这样就可以保存到磁盘、发送到网络或者存储在数据库中。`HashTable`,作为Java中的一个内置集合类,也可以被序列化。`HashTable`继承自`Dictionary`类,并实现...

    json数据序列化和反序列化

    5. 服务器端处理:服务器端接收到JSON数据后,通常会进行反序列化,将其转换为可处理的对象,然后存入数据库。例如,在Node.js中,可以使用`body-parser`中间件处理JSON请求体: ```javascript const express = ...

    对象的序列化和反序列化

    对象的序列化和反序列化是Java编程语言中重要的概念,它们主要用于持久化对象的状态,以便在需要时能够恢复。序列化是将一个对象转换为字节流的过程,而反序列化则是将字节流还原为原来的对象。这两个过程在许多场景...

    Java对象的序列化和反序列化实践

    前者用于写入序列化对象,后者用于读取反序列化的对象。 **反序列化(Deserialization)** 1. **概念**:反序列化是将已序列化的字节流恢复为原来的Java对象的过程。 2. **过程**:通过`ObjectInputStream`的`...

    c#对象序列化和反序列化,压缩流

    比如,我们可以先序列化对象,然后将得到的序列化数据通过压缩流进行压缩,再写入到文件或发送到网络。在接收端,首先解压缩接收到的数据,然后再进行反序列化,还原出原来的对象。 下面是一个简单的示例,展示如何...

    java序列化(Serializable)的作用和反序列化.doc

    1. **对象持久化**:当你希望将内存中的对象状态保存到文件或数据库中时,序列化是一种非常有效的方式。例如,在游戏开发中,可以通过序列化保存玩家的游戏进度。 2. **网络通信**:在进行网络通信时,如果需要在...

    java程序,序列化和反序列化操作对文件的运用

    在Java编程语言中,序列化和反序列化是两种重要的技术,它们允许我们将对象的状态转换为字节流,以便存储到磁盘上或通过网络进行传输。这些技术在处理持久化数据、对象缓存以及跨进程通信(如RMI - 远程方法调用)时...

    序列化反序列化例题net

    在.NET框架中,序列化和反序列化是两个重要的概念,它们主要用于数据持久化、网络传输和跨进程通信。理解并熟练运用这些技术对于任何.NET开发者来说都是至关重要的。 序列化是将对象的状态(包括其属性和字段)转换...

    delphi_JSON序列化反序列化

    总之,Delphi中的JSON序列化和反序列化是开发过程中常见的任务,理解并熟练掌握这些技术对于构建网络应用、数据库交互等场景至关重要。通过合理利用内置的System.JSON单元或选择合适的第三方库,可以有效地处理JSON...

    C#序列化和反序列化

    在C#编程中,序列化和反序列化是两个关键的概念,它们用于将对象的状态转换为可以在存储介质(如文件或数据库)中持久化的形式,以及将这些存储的形式还原为原来的对象。序列化的主要用途包括在程序重启时恢复对象...

    C#2.0序列化和反序列化 程序集反射技术

    4. **日志记录**: 序列化对象状态,方便记录和分析问题。 5. **元编程**: 反射用于动态创建和操作对象,实现动态类型检查和代码生成。 综上所述,理解和掌握C# 2.0的序列化与反序列化以及程序集反射技术,对于开发...

    反序列化作用

    a) 序列化对象时,需要确保对象类及其成员变量都是可序列化的,否则会抛出NotSerializableException异常。 b) 如果类中包含对象的引用,序列化时会递归地序列化所有引用的对象。 c) 在设计需要序列化的类时,应考虑...

    java序列化(Serializable)的作用和反序列化

    1. **文件保存**:当需要将内存中的对象状态保存到文件中或数据库中时,序列化非常有用。 2. **网络通信**:在网络上传输对象时,序列化能够将对象转换为字节流形式,便于在网络间传输。 3. **远程方法调用(RMI)**:...

    C#的控件使用:树形图TreeView如何实现序列化和反序列化.rar

    5. **实现反序列化**:从文件或数据库中读取XML字符串,然后遍历这个字符串,使用`ReadXml()`方法逐个创建`TreeNodeModel`实例,并将它们添加到`TreeView`中。这会恢复原来的树结构。 6. **加载到`TreeView`**:在...

    序列化与反序列化经典例子

    序列化与反序列化是计算机科学中的重要概念,特别是在数据存储、网络通信和持久化对象等领域。简单来说,序列化是将对象的状态转换为可存储或传输的数据格式的过程,而反序列化则是将这种数据格式恢复为原来的对象...

Global site tag (gtag.js) - Google Analytics