Hello,
iBATIS can fetch the BLOB as a stream of bytes. One way of doing what you
want is to create get/setters using byte[] that store/read to/from a private
String field, ie:
public class MyBean implements Serializable{
private String myString;
public void setStringAsByteArray(byte[] b) {
myString = String(b);
}
public byte[] getStringAsByteArray() {
return myString.getBytes();
}
public void setMyString(String s) {
myString = s;
}
public String getMyString() {
return myString;
}
}
and your result map:
<resultMap class="MyBean" id="MyBeanResultMap">
<result column="BLOB_COLUMN" property="stringAsByteArray" jdbcType="BLOB"/>
</resultMap>
That way you also have the chance to set the appropriate encoding to
your string.
regards,
--
Gustavo
> -----Original Message-----
> From: Zsolt [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 14, 2006 4:55 AM
> To: [email protected]
> Subject: How to convert BLOB to String.
>
>
> Hi,
>
> I have a BLOB field in mysql-4.1.18 and want to get that as
> String. The
> property I use as follows:
>
> setArgument(String arg) {...}
>
> In the mapping file I tried to use the code below but that
> didn't help.
> <result property="argument" column="argument_types" jdbcType="BLOB"
> javaType="java.lang.String"/>
>
> Instead of the string I get something like below:
> [EMAIL PROTECTED]
>
> How can I fix that?
>
> I use ibatis-2.1.7.597.
>
> zsolt
>
>
>
>