`
jwjxluke
  • 浏览: 13627 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle存取对象

阅读更多
往数据库里存一个Map:
Map<String, Integer> temp = new HashMap<String, Integer>();
		temp.put("mon", 1);
		temp.put("tus", 1);
		temp.put("wen", 3);
		temp.put("thr", 1);
		temp.put("fri", 1);
		temp.put("sat", 0);
		temp.put("sun", 0);
		try {
			ByteArrayOutputStream bos = new ByteArrayOutputStream();
			ObjectOutputStream out = new ObjectOutputStream(bos);
			out.writeObject(temp);
			final LobHandler lobhander = new DefaultLobHandler();
			final ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
			StringBuffer sql = new StringBuffer("insert into test(testid,name,accrual) values(?, ?, ?)");
			this.getJdbcTemplate().execute(sql.toString(), 
					new AbstractLobCreatingPreparedStatementCallback(lobhander) {
						protected void setValues(PreparedStatement ps,
								LobCreator lobCreator) throws SQLException,
								DataAccessException {
							ps.setInt(1, 1);
							ps.setString(2, "aaa");
							lobCreator.setBlobAsBinaryStream(ps, 3, bis, bis.available());
						}
				
			}
			
			);
		} catch(Exception e) {
			e.printStackTrace();
		}


读取出来:

		final LobHandler lobhander = new DefaultLobHandler();
		this.getJdbcTemplate().query("select * from test", 
				new RowMapper() {
					public Object mapRow(ResultSet rs, int arg1) throws SQLException {
						Map result = new HashMap();
						Blob blob = rs.getBlob("accrual");
						//byte[] bbb = lobhander.getBlobAsBytes(rs, "accrual");
						ByteArrayInputStream bais = new ByteArrayInputStream(blob.getBytes(1, (int)blob.length()));
						try {
							ObjectInputStream oo = new ObjectInputStream(bais);
							HashMap hm = (HashMap)oo.readObject();
						} catch (Exception e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						return null;
					}
		}
		
		);
	
分享到:
评论

相关推荐

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

    鉴于此,研究并优化Oracle数据库中大对象数据的存取方法,具有重要的实践意义。 本文旨在探讨Oracle数据库中大对象数据存取的两种实现方法,并对它们的时间性能进行比较。Oracle数据库中的大对象数据主要分为两类:...

    Oracle存取文件

    ### Oracle存取文件知识点 #### 一、Oracle Blob数据类型简介 在Oracle数据库中,Blob(Binary Large Object)是一种专门用于存储二进制大数据的对象类型,它可以有效地存储诸如图像、音频文件、视频文件以及任何其他...

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

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

    在Oracle中存取BLOB对象实现文件的上传和下载.txt

    ### 在Oracle中存取BLOB对象实现文件的上传和下载 #### 核心知识点解析: **一、BLOB数据类型简介** BLOB(Binary Large Object)是数据库中的二进制大对象类型,主要用于存储大量二进制数据,如图像、音频、视频等...

    oracle存取图片.doc

    在Oracle数据库中存储和检索图片涉及到了数据库操作和文件处理的知识点。以下是对这些内容的详细解释: 1. **Oracle JDBC驱动**: Oracle JDBC驱动是连接Java应用程序和Oracle数据库的桥梁。在示例代码中,`oracle...

    C#在oracle中存取图片(web版)

    标签"oracle存取图片"和"C#"进一步强调了主要的技术点。使用C#访问Oracle数据库时,需要引用Oracle的数据提供者,配置连接字符串,然后使用ADO.NET对象,如OracleCommand和OracleDataReader,来执行SQL命令和处理...

    mysql,sqlserver,oracle三种数据库的大对象存取

    **Oracle中的大对象存取:** Oracle提供了BFILE、BLOB、CLOB和NCLOB四种大对象类型。BFILE是外部文件的引用,而BLOB、CLOB和NCLOB则存储在数据库中。BLOB用于二进制大对象,CLOB用于字符大对象,NCLOB用于Unicode...

    使用JDBC数据接口存取Oracle LOB(大对象).pdf

    《使用JDBC数据接口存取Oracle LOB(大对象)》这篇文章主要探讨了如何通过Java数据库连接(JDBC)接口来处理Oracle数据库中的大对象(LOB)数据类型,特别是BLOB和CLOB。Oracle数据库利用LOB技术有效地管理和存储非...

    Oracle中利用ADO对象实现存取和访问

    在本文中,我们将详细探讨如何在Oracle环境中利用ADO对象进行数据存取和访问。 首先,ADO的核心对象包括Connection、Command和Recordset。Connection对象用于建立与数据库的连接,它通过ODBC驱动程序或OLE DB连接...

    hibernate存取oracle的clob

    ### Hibernate 存取 Oracle 的 CLOB 在 Java 开发中,使用 Hibernate 框架进行数据库操作是非常常见的。其中,处理 Oracle 数据库中的 CLOB 类型数据是一项重要的技能。CLOB(Character Large Object)是一种用于...

    mysql,sqlserver,oracle三种数据库的大对象存取解析.docx

    本文将对MySQL、SQL Server和Oracle这三种主流关系型数据库系统中的大对象存取进行详细解析。 **MySQL中的大对象存取** MySQL支持几种不同类型的BLOB类型,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。这些类型...

    Oracle数据库图像存取技术.pdf

    Oracle数据库图像存取技术 在现代油田生产中,生产信息量日益庞大,数据的种类和格式也越来越多样化。除了传统的文本和数字,油田工作中产生了大量的图像信息,如井位图、横向图、连通图等。这些图像信息的高效管理...

    用ASP.NET 2.0在Oracle中存取图片(文件)的操作

    ### 使用ASP.NET 2.0在Oracle中存取图片(文件)的详细操作指南 在IT领域,尤其是在Web开发中,处理图像和其他文件是常见需求。本文将深入探讨如何使用ASP.NET 2.0框架在Oracle数据库中存取图片和其他类型的文件。...

    Oracle,SQL2000,MYSQL存取图片或二进制数据的功能文件

    1. **Oracle存取图片或二进制数据** Oracle数据库使用BLOB(Binary Large Object)数据类型来存储图片或任何其他二进制数据。BLOB类型可以存储最大4GB的数据,足以容纳大多数图像文件。`OracleUploader.java`可能是...

    运用Java如何存取Oracle中的CLOB类型字段

    在IT领域,尤其是在数据库操作与Java编程的交集部分,理解和掌握如何在Java中存取Oracle数据库中的CLOB(Character Large Object)类型字段是至关重要的技能。CLOB数据类型主要用于存储大量的文本信息,如文章、报告...

    从oracle数据库中存取图片

    ### 从Oracle数据库中存取图片的知识点 在IT领域,特别是软件开发中,经常会遇到需要将图片存储到数据库中的情况。本篇文章将基于提供的代码片段来详细解析如何使用Java语言实现从Oracle数据库中存储与读取图片的...

    大对象数据的存取在Oracle数据库中的设计与实现.pdf

    Oracle数据库在处理大对象(LOB)数据方面提供了丰富的功能,主要涵盖了LONG、LONG RAW以及LOB(包括BLOB、CLOB、NCLOB和BFILE)等数据类型。这些数据类型允许存储大量的文本、图像、音频、视频等非结构化数据。 ...

    Oracle大对象数据在C builder中的存入技术.pdf

    通过这种方式,开发者可以在C++ Builder中实现对Oracle数据库中大对象数据的高效存取,满足多媒体文件和其他大数据量数据的存储需求。 此外,需要注意的是,由于LOB数据的大小可能非常大,因此在处理过程中可能需要...

Global site tag (gtag.js) - Google Analytics