ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tomasz brymora <tomekpi...@yahoo.com>
Subject BLOB, iBatis & PostgreSql 8.1
Date Fri, 13 Jul 2007 19:11:23 GMT

I got lost trying to save and read an image file from
a db.

I get file upload taken care of where a servlet
populates a bean with the image file and other info,
but I can't get to be written to the db.

What's the best way to procede, starting with the

Would this be appropriate:    

private MultipartFile imageBody;

Given the following table:

CREATE TABLE story_image 
	image_name varying ( 30 ),
	image_description varying (50),
	image_body oid

... waht's the correct way to make the insert?
I'm using iBatis for handling the jdbc part of the

... partial iBatis sqlMap:

<insert id="saveImage" parameterClass="storyImage" >
    INSERT INTO images 
        (   #imageName#,
            lo_import( #imageBody# )

... from what I gathered, pg uses a path to the image
file for importing it, so should I store to a temp dir
the server and feed pg the path to it?
Would the bean then require a String for the imageBody
variable instead of the MultipartFile?

Am I using the datatype for this operation (oid)?

Before this I was able to store the image file in the
db  as 'bytea'  but ran into problems trying to
retrieve it:

INFO: Loading XML bean definitions from class path
ption: SqlMapClient operation; SQL [];
--- The error occurred in
--- The error occurred while applying a result map.
--- Check the getImageResult.
--- Check the result mapping for the 'imageBody'
--- Cause: org.postgresql.util.PSQLException: Bad
value for type int : \377 ... rest omitted...

... so I'll appreciate any feedback you might have.

View raw message