你可以不用resultMap而改用resultClass,
这样就不需要每个字段都必须要有了,要么就在select语句中增加空字段,如:select '' as PJ_CHRCT,PJ_CD,CURR_STS from XXX

解决方案 »

  1.   

    你就在select后面加一个字段不就完了...
    <result   property="pjCd"   column="PJ_CD"   /> 
    <result   property="status"   column="CURR_STS"   /> 
    <result   property="bsnsPjChrct"   column="PJ_CHRCT"   />
    当你只用到2个PJ_CD和CURR_STS,
    你就 select PJ_CD, CURR_STS, 1 as PJ_CHRCT from 表名
    后面的1你查出来不用就完了啊...
      

  2.   

    我做的时候一般都是select * from 表名,然后
    <resultMap   class="持久对象pojo"   id="..."> 
    <result   property="id"   column="id"   /> 
    ...
    </resultMap> 
    把所有的字段都列出来...
    现在的框架里面有pojo来和表里面的字段一一对应的,
    就是一下把表里所有字段都查出来,然后只显示要显示的,其他的不用的就算查出来也没关系的.
    虽然多占了点系统资源,但提高了编码效率...
      

  3.   

    可是像上面说得那样,还是要声明多个resultMap啊?
      

  4.   

    我在项目中确实是这样用的,
    对不同的需求就定义不同的resultmap,
    关键是在设计的时候设计好,
    避开重复的resultmap就好了如果你觉得确实不习惯这样写,
    可以不用resultmap,而用hashmap,
    这个东东直接跟类映射,不需要重新写对应的resultmap
    能省很多代码,
    不过它效率要低一些