For BLOBs, the property in your bean should be of type byte[].  In the result map you may, or may not, need to specify jdbcType="BLOB" - it's dependant on the driver (e.g. with DB2 it does not matter).
 
I'm not familiar with OID - the byte[] and BLOB might work.  If not, then try a property of type Object and cast it yourself to the proper type.
 
All else fails, use a custom type handler.  But I think the byte[] and BLOB combination works in most cases.
 
Jeff Butler


 
On 11/7/05, Alan Chandler <[EMAIL PROTECTED]> wrote:
Having made the first release of my family tree application its time to look
to the future.

Once of the things that has been suggested to me is to store pictures of the
people and their marriages in the database.

I am using Postgres which seems to have more than one method of binary
storage.  For very large binary objects (the documentation implies things in
the order of 1GB or more) then a separate large binary object is available
refered to via a datatype called OID in the table which logically holds it.
As far as I can see from the jdbc documentation this is mapped to the
jdbctype BLOB.

But it also has a type of bytea which seems to map through to the java type of
byte[].  These seems much more appropriate for storing jpeg images (which is
what I plan).

In the ibatis wiki I noticed something that says you can get at binary data by
making a result map with the result having an entry with the jdbctype="BLOB"
in it.

The only write up I could find about jdbc types does not really talk about the
type as expressed in the ibatis xml - but it does say that there is a
getBytes jdbc api (which is what bytea is mapped to).

Can I just have a property in my java object which has a byte array (with the
getter and setter methods)  and use result maps to declare a property for
this which maps on to the column in the database which is of type bytea.  Do
I need to do anything else?  Specifically do I need to use the jdbctype
attribute, and if I do what do I use for it?

--
Alan Chandler
http://www.chandlerfamily.org.uk
Open Source. It's the difference between trust and antitrust.

Reply via email to