[ 
http://issues.apache.org/jira/browse/IBATIS-333?page=comments#action_12439053 ] 
            
Andrey commented on IBATIS-333:
-------------------------------

Ok. I think that exactly that feature is not very impotant (and have some 
disadvatages),
but some public api to get result mapping will be very usefull. I think :)



> Patch which allow to subsititute property with column name from ResultMap in 
> dynamic sql
> ----------------------------------------------------------------------------------------
>
>                 Key: IBATIS-333
>                 URL: http://issues.apache.org/jira/browse/IBATIS-333
>             Project: iBatis for Java
>          Issue Type: New Feature
>          Components: SQL Maps
>    Affects Versions: 2.2.0
>            Reporter: Andrey
>         Attachments: insertColumnName.patch
>
>
> In situtation, when i need to implement sorting, I need to create such 
> monster, like abator creates for me. But
> if i only need sorting, here should be mapping beetween columns and 
> properties (if they specified explicitly
> in ResultMap). In this case, i can write 
>     <resultMap id="dynamicAccountResult" class="testdomain.Account">
>         <result column="ACC_ID" property="id"/>
>         <result column="ACC_FIRST_NAME" property="firstName"/>
>         <result column="ACC_LAST_NAME" property="lastName"/>
>         <result column="ACC_EMAIL" property="emailAddress"/>
>     </resultMap>
>   <select id="dynamicInsertColumnName"
>     parameterClass="string"
>     resultMap="dynamicAccountResult">
>     select
>       ACC_ID,
>       ACC_FIRST_NAME,
>       ACC_LAST_NAME,
>       ACC_EMAIL
>     from ACCOUNT
>     <dynamic>
>       <insertColumnName prepend="where"> = 1</insertColumnName>  <!-- ibatis 
> replace this with column mapped for "id" passed as unnamed property -->
>       <insertColumnName prepend="order by"/> 
>     </dynamic>
>   </select>
>   public void testInsertColumnName() throws SQLException {
>     List list = sqlMap.queryForList("dynamicInsertColumnName", "id"); // Here 
> we pass our property name
>     assertEquals(1, list.size());
>   }
> SQL will be
>     select
>       ACC_ID,
>       ACC_FIRST_NAME,
>       ACC_LAST_NAME,
>       ACC_EMAIL
>     from ACCOUNT
>      where ACC_ID = 1
>      order by ACC_ID
> In any case, we can pass some AccountCriteria which will hold a list with 
> soring properties names and we can iterate in dynamic sql
> and get multiply field "order by" clause
> PS: Not all things tested yet. No errors thrown. This is alpha of this 
> feature. This is proof of conecpt (due of little amount of structural
> changes in other ibatis classes). If developers wan't this feature and agree 
> with my decisions, I'll implement all other bells and whishes
> like error checking, tests and may be other extensions for this tag.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to