日期:2014-05-20  浏览次数:20763 次

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


------解决方案--------------------
两种办法
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

------解决方案--------------------
如果同一个查询条件,查询的列不同,建议还是全部都查出来
------解决方案--------------------
探讨
引用:

如果同一个查询条件,查询的列不同,建议还是全部都查出来


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

------解决方案--------------------
没有 动态的
------解决方案--------------------
resultClass=hashmap
应该可以解决比的问题
返回的每一行对应一个map
------解决方案--------------------
可以继承你上面的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>