<sql id="sqlfileders" >
<bind name="fileders" value="#{'id':'ID','oriOutboundFare':'ORI_OUTBOUND_FARE','oriInboundFare':'ORI_INBOUND_FARE','agentOutboundFare':'AGENT_OUTBOUND_FARE','agentInboundFare':'AGENT_INBOUND_FARE','finalOutboundFare':'FINAL_OUTBOUND_FARE','finalInboundFare':'FINAL_INBOUND_FARE','ordOrderId':'ORD_ORDER_ID','oriOutboundFareInfo':'ORI_OUTBOUND_FARE_INFO','oriInboundFareInfo':'ORI_INBOUND_FARE_INFO','finalOutboundFareInfo':'FINAL_OUTBOUND_FARE_INFO','finalInboundFareInfo':'FINAL_INBOUND_FARE_INFO'}" />
<bind name="javapropertys" value="#{'ID':'id','ORI_OUTBOUND_FARE':'oriOutboundFare','ORI_INBOUND_FARE':'oriInboundFare','AGENT_OUTBOUND_FARE':'agentOutboundFare','AGENT_INBOUND_FARE':'agentInboundFare','FINAL_OUTBOUND_FARE':'finalOutboundFare','FINAL_INBOUND_FARE':'finalInboundFare','ORD_ORDER_ID':'ordOrderId','ORI_OUTBOUND_FARE_INFO':'oriOutboundFareInfo','ORI_INBOUND_FARE_INFO':'oriInboundFareInfo','FINAL_OUTBOUND_FARE_INFO':'finalOutboundFareInfo','FINAL_INBOUND_FARE_INFO':'finalInboundFareInfo'}" />
</sql>
<select id="findAll" resultMap="BaseResultMap" parameterType="java.util.Map" >
<![CDATA[
select x.* from (
select z.*, rownum numbers from (
]]>
select
<include refid="Base_Column_List" />
from
ORD_GROUP_FARE
<if test="page.sortName != null" >
<include refid="sqlfileders" />
<bind name="orderfield" value="#this.fileders[page.sortName]" />
order by ${orderfield} ${page.sortOrder}
</if>
<![CDATA[ ) z where rownum < ]]>
#{page.to}
<![CDATA[ ) x where x.numbers >= ]]>
#{page.from}
</select>
就是把一个对象绑定到一个名字上。
然后通过名字就能获取这个对象。
话说xml和json混搭这样子真的好么。
不清楚,不过后面使用传参使用的是map形式的参数,那么后面使用的时候,是怎么个状况。这是别人的代码?看不懂???select
<include refid="Base_Column_List" />
from
ORD_GROUP_FARE
<if test="page.sortName != null" >
<include refid="sqlfileders" />
这里面使用了Sqlfileders。又是怎么回事?
@寂静风暴: <include refid="sqlfileders" /> 就是把id 叫 sqlfileders 标签的内容直接拷贝过来
@长蘑菇星人: 是将value拷贝过来吗?那在此处又是有什么作用?
@长蘑菇星人: 我大概知道什么意思啦!!!我们项目经理给同事讲啦!!
利用this.fileders[page.sortName] ,类似于JSON取值。。。利用page.sortNamed的值取到fileders中对应的值(数据库对应字段)