mybatis中如何通过迭代或者循环获取Map的值?

Map<String,String> params = new HashMap<String,String>();
params.put("command",command);
params.put("description",description);
messageList = new ArrayList<Message>();
messageList = sqlSession.selectList("Message.queryMessageList",params);

我通过页面提交了2个参数,然后把他们放到Map中,在mybatis查询的之后不这个Map作为对象传入

那么我在xml中该怎么写?

我打算通过

<select id="queryMessageList" parameterType="java.util.Map" resultMap="UserResult">
  select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1
    <foreach collection="params.keys" item="k">  //现在的问题是 这里怎么写,我可以直接通过key迭代么,我现在这样写
    //   Cause: org.apache.ibatis.builder.BuilderException: Error evaluating expression 'params.keys'
        <if test="${params[${k} 不等于空>
            这里还没写完}
        </if>
    </foreach>


未卜先知
浏览 6670回答 1
1回答

慕瓜4807886

<foreach collection="relationMap" index="key"  item="value" separator=",">              </foreach>collection为relationMap,index为map的key,item为map的value;#{key},#{value}即可取到这个map集合中的键值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java