ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ding" <Tim.D...@telus.com>
Subject RE: [jira] Created: (IBATIS-215) BSF for dynamic queries
Date Wed, 30 Nov 2005 16:57:42 GMT
Good Morning, My friends,

Is there Inline Type Declaring for Update in iBatis? I know for Insertion that there is something

<statement id="insertProduct" parameterClass="product">
  values (#id:NUMERIC#, #description:VARCHAR#);

But how about for Update case?

Tim Ding

-----Original Message-----
From: Paul Benedict (JIRA) [mailto:ibatis-dev@incubator.apache.org] 
Sent: Wednesday, November 02, 2005 4:43 PM
To: ibatis-dev@incubator.apache.org
Subject: [jira] Created: (IBATIS-215) BSF for dynamic queries

BSF for dynamic queries

         Key: IBATIS-215
         URL: http://issues.apache.org/jira/browse/IBATIS-215
     Project: iBatis for Java
        Type: New Feature
  Components: SQL Maps  
    Reporter: Paul Benedict

While the list of tags to form dynamic queries is suitable, they are limiting because they
stop the "dreamer from dreaming." More complex logic cannot be addressed without creating
a barrage of new tags.

I propose a new tag called <script> (or something similar) which is backed by the Apache
Bean Scripting Framework. The parameter map passed in to the <statement> should load
it into the scripting Interpreter object and expose it for the <script> tag so that
dynamic Java or JavaScript can return
boolean parameters. Obviously there is a performance hit for this and the previous tags would
be much simpler for common boolean operations, but the sky is the limit when it comes to what
you can compare inside the script.

<select id="dynamicGetAccountList" cacheModel="resultMap="account-result" >
    select * from ACCOUNT
   <script><expression>obj.id != null && obj.id > 0 && obj.lastName.startsWith("B")"</expression>
     where ACC_ID = #id# and
    ACC_NAME = #lastName#
  order by ACC_LAST_NAME

If BSF is not suitable, please look into OGNL which is popular within Apache Tapestry and
is a very good alternative.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message