ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kris Barnhoorn" <k...@biassweb.be>
Subject RE: sql fragment as parameter
Date Thu, 30 Dec 2004 18:04:41 GMT
Stupid me, I looked over the # <-> $ difference.

Thank you,
Kris.


-----Oorspronkelijk bericht-----
Van: Severtson, Scott (Associate) [mailto:Scott.Severtson@qg.com] 
Verzonden: donderdag 30 december 2004 17:52
Aan: ibatis-user-java@incubator.apache.org
Onderwerp: RE: sql fragment as parameter

Kris,

Take a look at the $fragment$ syntax, on page 37 of the Sql Maps 2
developer guide, titled "Simple Dynamic SQL Elements". Should do what
you need.

----
Scott Severtson
Centare Group, LLC


> -----Original Message-----
> From: Kris Barnhoorn [mailto:kris@biassweb.be] 
> Sent: Thursday, December 30, 2004 10:54 AM
> To: ibatis-user-java@incubator.apache.org
> Subject: sql fragment as parameter
> 
> Hi,
>  
> First I'd like to thank the developers for this great tool.
>  
> I'd like to insert an sql fragment as a parameter to an sql 
> select statement.
> what i do is generate some sql in a class which is used as 
> parameterClass in the xml file
>  
> the whereCriteriaString constructs the string based criteria 
> selectable on the webpage. Users can choose the make more 
> than one "filter"
>  
> filter:  property | value | (AND | OR)
> add filter
>  
>  
> So I simply did this:
>  
>       <select id="getPojos" parameterClass="org.foo.SqlQuery"
>             resultClass="org.foo.Pojo">
>             SELECT *
>             FROM `pojos` 
>             WHERE 
>             <dynamic>
>                   <isNotEmpty property="whereCriteriaString">
>                         #whereCriteriaString#
>                   </isNotEmpty>
>             </dynamic>
>       </select>
>  
> What generates 
> 218 [main] DEBUG sql.PreparedStatement  - {pstm-100004} 
> PreparedStatement: SELECT * FROM `pojos` WHERE ? 
> 218 [main] DEBUG sql.PreparedStatement  - {pstm-100004} 
> PreparedStatement: Parameters: [(ld.language  =  'en' ) ]
> 218 [main] DEBUG sql.PreparedStatement  - {pstm-100004} 
> Types: [java.lang.String]
>  
> This doesn't work
>  
> So my question is can iBatis generate this?
>  
> 218 [main] DEBUG sql.PreparedStatement  - {pstm-100004} 
> PreparedStatement: SELECT * FROM `pojos` WHERE (ld.language  
> =  'en' )  
>  
>  
> I looked at <iterate>, but I don't think I can emulate a 
> similar behaviour with it.
>  
>  
> Thank you,
>  
> Kris.
>  
>  
> 


Mime
View raw message