我只查询一个字段 不想把这个字段放到对象里面返回 能不能直接放到map里面返回?如: 
   <select id="pageQueryCount" parameterType="java.util.HashMap" resultType="java.util.HashMap">
        select count(*) num from table
    </select> 可是 这样取 取不到啊
  Map map=sqlSession.selectMap(countSqlId, paramMap, "count");
 System.out.println("===="+map);//map居然是这样的  map = {2={num=2}}
这个selectMap到底怎么用的啊?
如何才能 map.get("num")就取到值呢

解决方案 »

  1.   

    直接用integer不可以吗?
    再调用SqlSession.selectOne 何必那么麻烦呢?
      

  2.   

    SqlSession.selectOne 不是要返回一个对象吗?  那你是不是还要把num封装到对象里面去?
      

  3.   

    不需要吧,num就是integer这个对象返回的......................再说你怎么吧num封装到integer类型中
      

  4.   

    抓狂  哥们你用过mybatis吗
      

  5.   

    从那个地方看出来我无用过mybatis?,有必要那么复杂么?<select id="selectCountByFirstName" parameterType="String" resultType="Integer">
    SELECT COUNT(*) FROM people WHERE firstname=#{firstName}
    </select>
    public Integer selectCountByFirstName(String firstName) {
    return (Integer) SqlSessionUtils.getSqlSession(sqlSessionFactory)
    .selectOne(People.class.getName() + ".selectCountByFirstName", firstName);
    }
      

  6.   

    <mapper namespace="com.promise.mpas">    
        <select id="selectOne" parameterType="long" resultType="Integer">    
            select count(*) from t_user where id = #{id}
        </select>
    </mapper>  我刚刚试过了、没问题、调用的地方:
    int i = (Integer) session.selectOne("com.promise.mpas.selectOne",id);