问个问题
ibatis里面 
select a,b,c from table 
select e,c,y,d,r from table
这个resultMap 该咋写啊
就是我查询出来的列不一样
不是写死的

解决方案 »

  1.   

    两种办法
    1:写两个resultMap,这个简单
    2:写一个resultMap 包含a,b,c  e,c,y,d,r
    查询语句
    select a,b,c,null e,null c, null y,null.... from table 
    select e,c,y,d,r,null a,null b,null c from table
      

  2.   


    我可能有好几百个!
    这样写好像不现实!
    iBatis里面就不能支持动态的resultMap吗?
      

  3.   


    这么说吧!我是根据视图来的!table这张表可能包含很多个视图,这些视图里面的字段都不一样!而且视图还会不断添加!
      

  4.   


    这样呐,还真不知道,resultMap没有动态的吧
    坐等强人
      

  5.   

    resultClass=hashmap
    应该可以解决比的问题
    返回的每一行对应一个map
      

  6.   

    可以继承你上面的resultMap
    比如你的父resultMap为 <resultMap id="BuyRecordResultForList" class="BuyRecord">
    <result column="ID" property="id" jdbcType="DECIMAL" />
    <result column="ID_CARD" property="id_card" jdbcType="VARCHAR" />


    </resultMap>
    你现在要增加返回项可以继承你的父resultMap 如
    <resultMap id="BuyRecordResult" class="BuyRecord" extends="BuyRecordResultForList">
     表里没有的可以放map里 如
    <result column="PD_NAME" property="map.pd_name" jdbcType="VARCHAR" /> 
    </resultMap>