`
busing
  • 浏览: 41362 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

数据库存取对象

阅读更多
  1 /*
  2  * To change this template, choose Tools | Templates
  3  * and open the template in the editor.
  4  */
  5 
  6 package objectintodb;
  7 
  8 import java.io.ByteArrayInputStream;
  9 import java.io.IOException;
 10 import java.io.ObjectInputStream;
 11 import java.io.ObjectOutputStream;
 12 import java.io.PipedInputStream;
 13 import java.io.PipedOutputStream;
 14 import java.sql.Connection;
 15 import java.sql.DriverManager;
 16 import java.sql.PreparedStatement;
 17 import java.sql.ResultSet;
 18 import java.sql.SQLException;
 19 import java.util.logging.Level;
 20 import java.util.logging.Logger;
 21 
 22 /**
 23  *
 24  * @author root
 25  */
 26 public class Main {
 27 
 28     /**
 29      * @param args the command line arguments
 30      */
 31     public static void main(String[] args) throws SQLException, ClassNotFoundException, IOException {
 32         // TODO code application logic here
 33         Connection conn=getConn();
 34         java.sql.PreparedStatement pstmt=conn.prepareStatement("insert into user values (?)");
 35 
 36         saveObject(new User("ty", "男", 20), pstmt, 1);
 37         pstmt.execute();
 38        ResultSet rs=conn.createStatement().executeQuery("select user from user");
 39         User user=null;
 40        while(rs.next())
 41        {
 42            user= (User)(readObject(rs, "user"));
 43        }
 44        rs.close();
 45 
 46        System.out.println(user.getUname());
 47 
 48     }
 49 
 50  
 51 
 52 
 53     //保存对象
 54     static  void saveObject(User user,PreparedStatement pstmt,int paramterIndex)
 55     {
 56         PipedInputStream is=new PipedInputStream();
 57         try {
 58             ObjectOutputStream oout = new ObjectOutputStream(new PipedOutputStream(is));
 59             oout.writeObject(user);
 60             oout.close();
 61             pstmt.setBinaryStream(1, is, is.available());
 62         } catch (IOException ex) {
 63             Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
 64         }
 65         catch (SQLException sx)
 66         {
 67             sx.printStackTrace();
 68         }
 69     }
 70 
 71 
 72 
 73 
 74     //读取对象
 75     static Object readObject(ResultSet rs,String column) throws ClassNotFoundException, IOException, SQLException
 76     {
 77         byte[] buf=rs.getBytes(column);
 78         if(buf!=null)
 79         {
 80             ObjectInputStream objIn=new ObjectInputStream(new ByteArrayInputStream(buf));
 81             return objIn.readObject();
 82         }
 83         return null;
 84     }
 85 
 86 
 87     static Connection getConn()
 88     {
 89         Connection conn=null;
 90         try {
 91             String driver = "com.mysql.jdbc.Driver";
 92             String url = "jdbc:mysql://localhost:3306/user";
 93             String username = "ty";
 94             String pwd = "ty";
 95             Class.forName(driver);
 96             conn = DriverManager.getConnection(url, username, pwd);
 97         } catch (SQLException ex) {
 98             Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
 99         } catch (ClassNotFoundException ex) {
100             Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
101         }
102         
103 
104         return conn;
105 
106     }
107 
108 }



存取的对象需要实现序列化借口


分享到:
评论

相关推荐

    谈采用ASP数据库存取组件访问SQL Server数据库

    ### 谈采用ASP数据库存取组件访问SQL Server数据库 #### 概述 随着互联网的发展,动态网页技术逐渐成为网站建设的重要组成部分。其中,ASP(Active Server Pages)以其易学性和微软的强大支持,在早期成为了开发...

    把脉VC++_4

    全书内容主要包括:软件项目中的开发技术、关于Visual C++的话题、常见对象的表达、对象的赋值与转换、对象容器、使用文件存取对象、使用注册表存取对象、使用数据库存取对象、界面的布局、界面的绘制与交互、界面的...

    非Access数据库在VB中的编程及应用

    Visual Basic作为一款强大的Windows软件开发工具,不仅提供了对Access数据库的全面支持,还能够通过数据库存取对象变量(DAO)和其他方式访问如FoxPro、dBASE等外来数据库。 文章首先介绍了VB的数据库体系结构,...

    利用数据库存取图片,从数据库读取显示出来

    在标题“利用数据库存取图片,从数据库读取显示出来”中提到的方法,意味着我们将直接把图片的数据存储在数据库内,而不是仅仅保存图片的文件路径。这种方法在某些场景下可能是必要的,例如,如果需要确保图片与相关...

    CUMT WEB数据库存取例

    【CUMT WEB数据库存取例】是一个关于使用ASP(Active Server Pages)技术与ADO(ActiveX Data Objects)访问ACCESS数据库的应用示例。这个压缩包包含了一系列的ASP文件和一个ACCESS数据库文件,用于演示如何通过ASP...

    漫谈Java数据库存取技术

    标题与描述中的“漫谈Java数据库存取技术”聚焦于探讨Java领域中处理数据库存取的多种技术。本文将深入解析这些技术的核心概念、优势与局限性,以及它们如何适应不断变化的IT环境。 ### JDBC:Java数据库连接的基石...

    C# 图片数据库存取示例

    本示例将探讨如何使用C#来处理图片的数据库存取,这对于创建图像管理应用、在线画廊或者任何需要存储和检索图像信息的系统至关重要。以下是关于这个主题的详细讲解。 一、数据库选择 在存取图片时,我们首先需要...

    pgsql数据库大对象存取

    下面将详细介绍pgsql数据库中的大对象存取及其相关知识。 首先,大对象在PostgreSQL中被表示为OID(Object Identifier),它是一个唯一的32位整数。创建大对象时,数据库会为这个对象分配一个OID,之后所有对该对象...

    Delphi下利用ADO技术实现对MS SQL Server数据库存取.pdf

    "Delphi下利用ADO技术实现对MS SQL Server数据库存取.pdf" 在本文档中,我们将介绍如何使用Delphi语言和ADO技术来实现对MS SQL Server数据库的存取。 标题:Delphi下利用ADO技术实现对MS SQL Server数据库存取 ...

    C# 数据库图像存取

    本篇将详细介绍如何利用C#来实现数据库中的图像存取。 首先,我们需要了解数据库中存储图像的基本原理。通常,我们不会直接将图像文件存储为二进制文件,而是将其转换为二进制数据,然后存储在数据库的BLOB(Binary...

    谈采用ASP数据库存取组件访问SQL Server数据库.pdf

    - 数据库存取组件:ASP内置的组件,用于简化数据库的访问和操作,主要使用ADO(ActiveX Data Objects)技术。 - SQL Server:一种关系型数据库管理系统,广泛应用于各种大小的组织中,用于存储和管理数据。 - ADO...

    网数据库存取图片

    "网数据库存取图片"这个主题涉及到如何在SQL Server数据库中存储和检索图片。这里我们将深入探讨相关知识点。 首先,SQL Server支持多种方式来存储图像和其他二进制大对象(BLOB)数据,如使用VARBINARY(MAX)或...

    Oracle数据库大对象数据存取的两种实现方法及时间性能比较.pdf

    标题中的“Oracle数据库大对象数据存取的两种实现方法及时间性能比较”指的是在Oracle数据库中处理大对象(LOB)数据的两种不同方法,并对比它们的性能。Oracle数据库中的大对象数据通常指的是非结构化的数据,如...

    把脉VC++ 高清完美目录版

    全书内容主要包括:软件项目中的开发技术、关于Visual C++的话题、常见对象的表达、对象的赋值与转换、对象容器、使用文件存取对象、使用注册表存取对象、使用数据库存取对象、界面的布局、界面的绘制与交互、界面的...

    把脉VC++光盘代码 第6章 到 第10章

    关于Visual C++的话题、常见对象的表达、对象的赋值与转换、对象容器、使用文件存取对象、使用注册表存取对象、使用数据库存取对象、界面的布局、界面的绘制与交互、界面的美化、进程间对象的传输与调用、线程间对象...

    把脉VC++光盘代码 第11章 到 第15章附加数据

    关于Visual C++的话题、常见对象的表达、对象的赋值与转换、对象容器、使用文件存取对象、使用注册表存取对象、使用数据库存取对象、界面的布局、界面的绘制与交互、界面的美化、进程间对象的传输与调用、线程间对象...

    vc 串口通讯 数据库存取

    在IT行业中,串口通讯和数据库操作是两...综上所述,"vc 串口通讯 数据库存取"的示例程序涉及到串口通信技术的实现,包括设置串口参数、数据传输,以及数据库的连接、查询和操作,是实现设备监控和数据管理的有效工具。

    利用Java程序实现Oracle数据库中大对象的存取.pdf

    "利用Java程序实现Oracle数据库中大对象的存取" 本文主要介绍了利用Java程序实现Oracle数据库中大对象的存取。Oracle数据库系统是应用最广泛的数据平台,使用Java和Oracle相结合开发网络应用程序,可以使应用程序...

    PB9数据库存取图片

    以下将详细解释如何在PB9中进行数据库存取图片的操作。 首先,我们需要创建一个能够存储图片的数据库表。这个表通常会包含一个或多个字段,其中一个是BLOB类型的字段,例如“ImageData”。在SQL数据库(如MySQL、...

    JSP在数据库中存取图片

    ### JSPSmartUpload 实现数据库中的图片存取 #### 一、引言 在Web开发中,经常需要处理用户上传的文件,特别是图片文件。传统的做法是将这些文件存储在服务器的文件系统中,但这种方法可能会导致文件管理复杂度...

Global site tag (gtag.js) - Google Analytics