Friday, 15 August 2014

java - Prepare ibatis query with dynamic alias -



java - Prepare ibatis query with dynamic alias -

i need create query using ibatis this:

select code,name,info0,info1,.... tablename;

info0,info1,.... number , need prepare dynamically.

code,name,info0,info1.... alias.

ibatis query

<select id="getreferencedatalistbyreferencemasterinfo" parametertype="com.util.referencemetadata" resultmap="refdatalist-result"> select code,name, <if test="infonamelist != null"> <foreach item="item" index="index" separator="," collection="infonamelist"> #{'info'${index}} </foreach> </if> ( select trim(${codecolumnname}) code, <choose> <when test="namecolumnname != null"> ${namecolumnname} name, </when> <otherwise> null name, </otherwise> </choose> <choose> <when test="infonamelist != null"> <foreach item="item" index="index" collection="infonamelist"> ${item} info${index}, </foreach> </when> </choose> row_number() on (order ${codecolumnname}) rownum uref.${tablename} ) </select>

the above query working if specify alias explicitly as:

select code,name,info0,info1,info2 (...

got answer.....

the code this,

<if test="infonamelist != null"> <foreach item="item" index="index" separator="," collection="infonamelist"> info${index} </foreach> </if>

java sql ibatis

No comments:

Post a Comment