文档中是这样说的:
queryForMap()方法将结果集放在一个Map对象中,这个Map对象用一个传入参数keyProperty作为key值。例如,要读入一批Employee对象,您可以将这些Employee对象放在一个用employeeNumber属性作为key值的Map对象中。Map对象的值可以是整个Employee对象,也可以是Employee对象的另一个属性,属性的名称由第二个参数valueProperty指定。例如,您可能只是需要一个Map对象,用员工号作为key值,员工姓名作为value值。不要把它和用Map作为结果对象的概念混淆。这个方法可以使用Java Bean和Map(或基本类型的包装类,但不可能这样用)作为结果对象。
建议去官网下载:www.ibatis.com

解决方案 »

  1.   

    queryForMap
    public java.util.Map queryForMap(java.lang.String id,
                                     java.lang.Object parameterObject,
                                     java.lang.String keyProp)
                              throws java.sql.SQLExceptionExecutes a mapped SQL SELECT statement that returns data to populate a number of result objects that will be keyed into a Map. 
    The parameter object is generally used to supply the input data for the WHERE clause parameter(s) of the SELECT statement. 
    Parameters:
    id - The name of the statement to execute.
    parameterObject - The parameter object (e.g. JavaBean, Map, XML etc.).
    keyProp - The property to be used as the key in the Map. 
    Returns:
    A Map keyed by keyProp with values being the result object instance. 
    第一个参数是在XML中定义的查询操作的id, 比如像"getProductList".
    第二个参数是作为参数的对象, 应该是和queryForList的那个参数意义相同.
    第三个参数是最终要返回的Map的Key, 比如像"productCode".
    通俗一点说就是queryForList返回满足条件的一个列表, 而queryForMap首先也是返回一个列表, 再把这个列表每个元素都加上了一个唯一的字段作为key, 然后返回这个map.
      

  2.   

    通俗一点说就是queryForList返回满足条件的一个列表, 而queryForMap首先也是返回一个列表, 再把这个列表每个元素都加上了一个唯一的字段作为key(具体是哪个字段作为key就是第三个参数指定的), 然后返回这个map.
      

  3.   

    也就是,我通过这个KEY就能拿出那个结果MAP对吧。