oracle hibernate对blob的操作

 oracle数据库建表语句:

create table blobTest
(
   id number(19),
   filedata BLOB,
   primary key(id)
);

 实体类:

public class Blobtest implements Serializable {

   private Long id;

   private byte[] filedata;

   public Long getId()
    {
        return id;
    }

   public void setId(Long id)
    {
         this.id = id;
    }

    public byte[] getFiledata() {
        return filedata;
    }

   public void setFiledata(byte[] filedata) {
        this.filedata = filedata;
   }

 

实体类与数据表的映射文件:

<hibernate-mapping package="com.thunis.ca.dto">

    <class name="Blobtest" table="BLOBTEST">
        <id name="id" column="ID" type="java.lang.Long">
            <generator class="sequence"/>
        </id>
 
        <property name="filedata" column="FILEDATA" type="binary" />
    </class>
    
</hibernate-mapping>

 

插入:

session = HibernateSessionFactory.openSession();
Blobtest bt=new Blobtest();
bt.setFiledata(lform.getFileData().getBytes());
session.save(bt);

 

查询:

session = HibernateSessionFactory.openSession();
String hql="from Blobtest";
List list=session.createQuery(hql).list();
if(list !=null && list.size()>0){
     Blobtest bt=(Blobtest) list.get(0);
     System.out.println("ID:"+bt.getId());
     byte[] b=bt.getFiledata();
     System.out.println("FileData:"+new String(b,0,b.length));
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值