ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From novotny <novo...@gridsphere.org>
Subject RE: how to create custom TypeHandlerCallback to trim string whitespace
Date Fri, 18 Jan 2008 22:23:24 GMT


Well the database designer chose to use CHAR(6), so I wouldn't have this
problem if it were VARCHAR but since it's CHAR, I believe the informix
driver pads it with extra spacing hence the need for some kind of custom
handler which I can't get to work...

Thanks, Jason



Kezerashvili, Denis wrote:
> 
> I think the problem may be that you are specifying jdbsType="CHAR",
> should not it be jdbsType="VARCHAR". Aren't you dealing with strings not
> just single characters. The call back is never invoked, since you get
> back a VARCHAR not CHAR.
> 
> Denis
> -----Original Message-----
> From: novotny [mailto:novotny@gridsphere.org] 
> Sent: Friday, January 18, 2008 2:02 PM
> To: user-java@ibatis.apache.org
> Subject: how to create custom TypeHandlerCallback to trim string
> whitespace
> 
> 
> Hi,
> 
>  I'm using an informix database and querying for a map containing string
> keys and integer values. The keys are stored as type CHAR in the
> database
> and normally when I get them back they contain extar whitespace. I'm
> trying
> to create a custom handler like so:
> 
> public class StringTypeHandlerCallback implements TypeHandlerCallback {
> 
> 
>     public void setParameter(ParameterSetter parameterSetter, Object o)
> throws SQLException {
>         parameterSetter.setString(((String)o).trim());
>     }
> 
>     public Object getResult(ResultGetter resultGetter) throws
> SQLException {
>         return resultGetter.getString().trim();
>     }
> 
>     public Object valueOf(String s) {
>         return s.trim();
>     }
> }
> 
> and I added 
> 
> <typeHandler callback="StringTypeHandlerCallback" javaType="string"
> jdbcType="CHAR"/>
> 
> but it doesn't seem to work-- the strings still have the whitespace.
> 
> Here was my query:
> 
> Map<String, Integer> m = sqlMapClient.queryForMap(QUERY, qwest,
> "sm_qwest",
> "tm_id");
> 
> Any help is greatly appreciated!
> 
> Thanks, Jason
> -- 
> View this message in context:
> http://www.nabble.com/how-to-create-custom-TypeHandlerCallback-to-trim-s
> tring-whitespace-tp14956784p14956784.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 

-- 
View this message in context: http://www.nabble.com/how-to-create-custom-TypeHandlerCallback-to-trim-string-whitespace-tp14956784p14961326.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message