在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ 關(guān)于ibatis映射問題

關(guān)于ibatis映射問題

mapper.xml的查詢語句如下 返回類型為一個map

<select id="segmentFault" resultType="java.util.HashMap">
        select u.password, //User
                u.salt, //User
                 r.role,//Role
                  r.description //Role
            from sys_user u,sys_user_role ur,sys_role r
            where u.id=ur.user_id
            and r.id=ur.role_id 
            and u.username='zms'
</select>

dao層接收返回值類型為 User 實體類

List<User> segmentFault();

查詢出的數(shù)據(jù)從map轉(zhuǎn)換為一個javaBean
我的困惑是 遍歷 這個list 得到的是User對象這沒問題
但是當(dāng)我在controller層

  @RequestMapping(value="segmentFault",method=RequestMethod.POST)
  @ResponseBody
  public ResponseBean segmentFault(){
      List<User> result=userService.segmentFault();
      return new ResponseBean(ResponseBean.SUCCESS,"大佬萬歲!",result);
  }

返回一個Json時

{
"code": "0",
"data": [
    {
        "description": "用戶管理角色集合",
        "role": "user",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    },
    {
        "description": "菜單管理角色集合",
        "role": "menu",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    },
    {
        "description": "權(quán)限管理角色集合",
        "role": "permission",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    },
    {
        "description": "角色管理角色集合",
        "role": "role",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    },
    {
        "description": "系統(tǒng)管理瀏覽角色",
        "role": "brower",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    },
    {
        "description": "微信小程序管理角色",
        "role": "weixin",
        "password": "7dfa79b6d4aab34222c9b8b14f32122c",
        "salt": "682944961e87d6f80cefbbd0a8c64292"
    }

實體類Role里面的數(shù)據(jù)也出來了 1.我mapper里面映射類型是一個map 2.當(dāng)dao層接收這個返回結(jié)果集的時候 對這個map進行了轉(zhuǎn)換 轉(zhuǎn)換成User 3. 但是我controller @ResponseBody 轉(zhuǎn)換以后Role這個實體類的數(shù)據(jù)也出來了 那么我的疑問就來了 map轉(zhuǎn)換為User List<Map<String,Object>> 變?yōu)長ist<User> , 那么Role去哪了 那么@ResponseBody 是直接對未轉(zhuǎn)型前的 List<Map<String,Object>> 操作?

回答
編輯回答
使勁操

private transient Object[] elementData;
這是list源碼里面的方法 真正保留數(shù)據(jù)的數(shù)組在這里面 Map<String,Object> 是我mapper映射出來的第一級的數(shù)據(jù)
存放在此 List<User> 只是用User對這個類型進行了一下形式上的轉(zhuǎn)換而已 并沒有改變真正保留的數(shù)據(jù)

2018年5月9日 20:31
編輯回答
小曖昧

User 類的結(jié)構(gòu)是啥

2018年3月19日 18:03
編輯回答
病癮

建議你 xml返回user,然后打印一個user看看

2018年7月24日 20:24