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@xxxxxxxxxxx]
> Sent: Thursday, December 30, 2004 10:54 AM
> To: ibatis-user-java@xxxxxxxxxxxxxxxxxxxx
> 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.
>
>
>
|
|