肯定是一行数据,rs中有很多数据 map 只存放了最后一行数据,你的map没用list 包装,多思考,其实问题发现很简单

解决方案 »

  1.   

    那该怎么改呢?我一改就变不成json数据了
      

  2.   

    循环不能用if,要用while,用if的话这句代码只会走一次,所以只输出一行记录而且是第一行的记录,不过你就算改为while,但你的map里Value放的不是对象,而是String,也就是楼上说的没封装,每次while循环,key的值都会被后面的值覆盖,最后输出还是只有一行记录不过是最后一行记录而已,总之,两个问题:
    ①while循环
    ②将每一行记录也就是每条row(包含id,userName,gender等字段)封装成一个对象put进map
      

  3.   

    做成   
    List<Map> mapList = new Arraylist<Map>();
    while (rs.next()){
      
    Map<String,String> map = new ...mapList.add(map)
    }