ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gustavo Henrique Sberze Ribas" <gri...@cpqd.com.br>
Subject RE: How to convert BLOB to String.
Date Tue, 14 Mar 2006 11:10:38 GMT
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:zkoppanylist@intland.com]
> Sent: Tuesday, March 14, 2006 4:55 AM
> To: user-java@ibatis.apache.org
> 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:
> [B@185982c
> 
> How can I fix that?
> 
> I use ibatis-2.1.7.597.
> 
> zsolt
> 
> 
> 
> 

Mime
View raw message