ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Boyd" <swb...@gmail.com>
Subject Re: how to create custom TypeHandlerCallback to trim string whitespace
Date Tue, 22 Jan 2008 21:40:07 GMT
Why don't you change your select clause to this?

   select *trim(sm_issue_symbol) as sm_issue_symbol*,
          tm_id
   from
           sec_master,
           category_security,
           tier_mast
       where sm_secid = cs_secid
           and cs_tierid = tm_id
           and sm_issue_symbol is not NULL
           and sm_issue_symbol != " "
       order by 1, 2;

On Jan 22, 2008 3:59 PM, novotny <novotny@gridsphere.org> wrote:

>
> Hi,
>
> I'm not quite sure what you mean-- this is what I have in my
> sql-ibatis.xml
> file:
>
> <select id="GetAllSecTiers" resultClass="java.util.HashMap">
>        select
>            sm_issue_symbol,
>            tm_id
>        from
>            sec_master,
>            category_security,
>            tier_mast
>        where sm_secid = cs_secid
>            and cs_tierid = tm_id
>            and sm_issue_symbol is not NULL
>            and sm_issue_symbol != " "
>        order by 1, 2;
>    </select>
>
> So my resultMap is just a generic HashMap where the keys consist of the
> sm_issue_symbol that I want trimmed and the values are the integers from
> the
> tm_id column.
> What would the property attribute in the result element need to be set to?
>
> Thanks, Jason
>
>
>
> Kezerashvili, Denis wrote:
> >
> > One more point, you need the following in your sql mapping xml file, in
> > you result map, for the column you want to trim:
> >
> >
> > <result property="[propertyToSet]" column="[columnNameToUse]"
> > javaType="StringTypeHandlerCallback" jdbcType="VARCHAR"/>
> >
> > Replace things in [] with correct values for your use.
> >
> > Make sure the StringTypeHandlerCallback is either fully qualified name
> > of defined in the typeAlias.
> >
> > 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-tp14956784p15028271.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Mime
View raw message