设为首页 加入收藏

TOP

关于BLOB数据类型插入ORACLE数据库的操作(二)
2014-11-24 00:57:15 来源: 作者: 【 】 浏览:12
Tags:关于 BLOB 数据 类型 插入 ORACLE 数据库 操作
{ return sex; }

public void setSex(char sex) { this.sex = sex; }

public float getWeight() { return weight; }

public void setWeight(float weight) { this.weight = weight; }

public Blob getImage() { return image; }

public void setImage(Blob image) { this.image = image;}

}

这是Cat.hbm.xml

java代码:

< xml version="1.0" >

下面是完整的用Hibernate写入Blob的例子,相比JDBC,已经简单轻松多了,也不用写那些Oracle特殊的sql了:

java代码:

package com.fankai;

import java.sql.Blob;

import net.sf.hibernate.*;

import oracle.sql.*;

import java.io.*;

public class TestCatHibernate {

public static void testBlob() {

Session s = null;

byte[] buffer = new byte[1];

buffer[0] = 1;

try {

SessionFactory sf = HibernateSessionFactory.getSessionFactory();

s = sf.openSession();

Transaction tx = s.beginTransaction();

Cat c = new Cat();

c.setName("Robbin");

c.setImage(Hibernate.createBlob(buffer));

s.save(c);

s.flush();

s.refresh(c, LockMode.UPGRADE);

BLOB blob = (BLOB) c.getImage();

OutputStream out = blob.getBinaryOutputStream();

String fileName = "oraclejdbc.jar";

File f = new File(fileName);

FileInputStream fin = new FileInputStream(f);

int count = -1, total = 0;

byte[] data = new byte[(int)fin.available()];

fin.read(data);

out.write(data);

fin.close();

out.close();

s.flush();

tx.commit();

} catch (Exception e) {

System.out.println(e.getMessage());

} finally {

if (s != null)

try {

s.close();

} catch (Exception e) {}

}

}

}

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇针对PHP开发人员的CouchDB基础知识 下一篇Oracle故障分析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: