日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle 谭岚_Hibernate实现Oracle BLOB的数据读写(2)

發(fā)布時(shí)間:2024/7/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 谭岚_Hibernate实现Oracle BLOB的数据读写(2) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這次采用的是EJB3的配置

測(cè)試環(huán)境與前次一樣:Hibernate3.6.7,Oracle 10g Express,JDK7,Win7

1,數(shù)據(jù)庫(kù)腳本

create table TUser (

ID char(32) not null,

name varchar(10char) not null,

photo blob, --頭像

constraint PK_TUser primary key (ID)

);

2,配置文件,即META-INF/persistence.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/persistence

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"

version="2.0">

org.hibernate.ejb.HibernatePersistence

3,編寫實(shí)體類User.java

package com.tanlan.hibernate.entity;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Lob;

import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity

@Table(name = "TUser")

public class User {

@Id

@GenericGenerator(name = "uid", strategy = "uuid")

@GeneratedValue(generator = "uid")

private String id;

@Column

private String name;

@Lob

@Column

private byte[] photo;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public byte[] getPhoto() {

return photo;

}

public void setPhoto(byte[] photo) {

this.photo = photo;

}

}

4.測(cè)試代碼

package com.tanlan.hibernate.test;

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.EntityTransaction;

import javax.persistence.Persistence;

import com.tanlan.hibernate.entity.User;

public class TestUser {

public static void main(String[] args) {

addUser();

//getUserById();

}

private static void addUser() {

User user = new User();

user.setName("譚嵐");

File photo = new File("D:\\test.jpg");

try {

FileInputStream is = new FileInputStream(photo);

ByteArrayOutputStream os = new ByteArrayOutputStream();

byte[] temp = new byte[512];

int i = 0;

while ((i = is.read(temp, 0, temp.length)) != -1) {

os.write(temp, 0, temp.length);

}

os.close();

is.close();

user.setPhoto(os.toByteArray());

} catch (Exception e) {

e.printStackTrace();

}

EntityManager em = createEntityManager();

EntityTransaction transaction = em.getTransaction();

transaction.begin();

em.persist(user);

transaction.commit();

}

private static void getUserById() {

EntityManager em = createEntityManager();

User user = (User) em.find(User.class,"402881e432aad3340132aad33c210000");

em.close();

byte[] photo = user.getPhoto();

try {

FileOutputStream os = new FileOutputStream("E:\\333.jpg");

os.write(photo);

os.close();

} catch (Exception e) {

e.printStackTrace();

}

}

private static EntityManager createEntityManager() {

EntityManagerFactory emf = Persistence.createEntityManagerFactory("test");

return emf.createEntityManager();

}

}

1

1

分享到:

2011-09-27 20:27

瀏覽 2935

評(píng)論

總結(jié)

以上是生活随笔為你收集整理的oracle 谭岚_Hibernate实现Oracle BLOB的数据读写(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。