#####################################
#  DB¿¡ JAVA Object ÀÔ·ÂÇ챉        # 
#####################################

ÀÛ¼ºÀÚ : ÀåÇüÈ­(hhjang97@venus.uos.ac.kr)
ÀÛ¼ºÀÏ : 2005. 10. 11 
¼öÁ¤ÀÏ : 

¿øº» :
¼³¸í :

Oracle DB¿¡ ÀÚ¹Ù¸¦ °´Ã¼ ÇüÅ·ΠÀúÀåÇϱâ

Writing Advanced Applications
  Chpater 4:JDBC Technology ÂüÁ¶


create table lob_test( 
   id number(5),
   blob_col BLOB default EMPTY_BLOB()
);

################################# ################################# #################################

¼Ò½º ´Ù¿î·Îµå

TestObjectÀº Serializable ÇØ¾ß µÇ°í.. 
TestObject¿¡ Æ÷ÇԵǴ °´Ã¼µµ Serializable ÇØ¾ß µÈ´Ù.


public class TestObject implements Serializable 
{
	public int testid = 1234;
	public String testStr = "bbbb";
	public MyObject;		// MyObject µµ Serializable ÇؾߵÊ
}


#################################
#  DB¿¡ ÀÔ·ÂÇϱâ
#################################

	// TestObject À» Á÷·ÄÈ­ ÇÑ´Ù.
	java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
	java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(bos);
	oos.writeObject(testObject);
			
	byte[] bytes = bos.toByteArray();
	oos.close();
	bos.close();
			
	ByteArrayInputStream regArrayStream = 
					new ByteArrayInputStream(bytes);


	pstmt.setBinaryStream( 1, regArrayStream, bytes.length);


#################################
#  BLOB·Î ÀúÀåÈÄ Àбâ
#################################
	// BLOB Àбâ
	Blob blob = rs.getBlob("blob_col");

	ObjectInputStream regObjectStream =	new ObjectInputStream(blob.getBinaryStream());
	TestObject testObj = (TestObject)   regObjectStream.readObject();


#################################
# byte[] ·Î ÀúÀåÈÄ Àбâ
#################################
	byte[] regBytes = rs.getBytes("blob_col");	// blob_col
	
	ByteArrayInputStream regArrayStream =	new ByteArrayInputStream(regBytes);
	ObjectInputStream regObjectStream =	new ObjectInputStream(regArrayStream);
	TestObject testObj = (TestObject)   regObjectStream.readObject();