温故而知新666
2012-09-07 09:18
浏览 187
已采纳

关于ibaits返回map缓存问题

问题是这样的,t_user表 id , name , password, age

<select id="queryUserAll" resultClass="java.util.HashMap" parameterClass="java.lang.String">
  <dynamic>
   $value$
  </dynamic>
</select>

 

 动态生成SQL 如果条件为1:select name password  如果条件为2:select name age

 

问题是这样的。假如我第一次 传的条件是1 那么没问题,然后我在传条件为2: 那么就报异常说 invalid column age.

假如我第一次 传的条件是2 那么没问题,然后我在传条件为2: 那么就报异常说 invalid column password  .

 

生成的sql语句是没问题的。我感觉好像是ibaits返回的map被缓存了 所以每次返回的列不同的情况就报错。

希望有人帮忙

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • liuyinhuan0409 2012-09-07 09:54
    已采纳

    试试加上remapResults="true"属性,让HashMap每次清掉重来:
    [code="java"]


    $value$


    [/code]

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题