Hi,
That's what I wanted to but for whatever reason maybe because it's CHAR or maybe because it's informix, but it doesn't trim the string so I still get whitespace padding... :-( Jason Stephen Boyd-3 wrote: > > 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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] >> > Sent: Friday, January 18, 2008 2:02 PM >> > To: [email protected] >> > 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. >> >> > > -- View this message in context: http://www.nabble.com/how-to-create-custom-TypeHandlerCallback-to-trim-string-whitespace-tp14956784p15029467.html Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
