亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

按照老師的代碼敲,示例是selectMapsPage,但是報錯

代碼為:

@Test
public?void?selectMapsPage()?{
????LambdaQueryWrapper<User>?userLambdaQueryWrapper?=?new?LambdaQueryWrapper<>();
????userLambdaQueryWrapper.gt(User::getAge,?26);

????Page<User>?userPage?=?new?Page<>(1,?2);

????IPage<Map<String,?Object>>?mapIPage?=?userMapper.selectMapsPage(userPage,?userLambdaQueryWrapper);
????System.out.println("總記錄數:"?+?mapIPage.getTotal());
????System.out.println("總頁數:"?+?mapIPage.getPages());
????List<Map<String,?Object>>?mapList?=?mapIPage.getRecords();
????mapList.forEach(System.out::println);
}

報錯為:

Error:(638,?57)?java:?無法將接口?com.baomidou.mybatisplus.core.mapper.BaseMapper<T>中的方法?selectMapsPage應用到給定類型;
??需要:?E,com.baomidou.mybatisplus.core.conditions.Wrapper<com.example.curd.entity.User>
??找到:?com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.example.curd.entity.User>,com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<com.example.curd.entity.User>
??原因:?推斷類型不符合上限
????推斷:?com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.example.curd.entity.User>
????上限:?com.baomidou.mybatisplus.core.metadata.IPage<java.util.Map<java.lang.String,java.lang.Object>>

在編寫

IPage<Map<String,?Object>>?mapIPage?=?userMapper.selectMapsPage(userPage,?userLambdaQueryWrapper);

時,idea確實沒有推斷出來,不過代碼相同,為什么跑步起來?

正在回答

3 回答

你的這個問題看MP源碼:

/**
?*?根據?Wrapper?條件,查詢全部記錄(并翻頁)
?*
?*?@param?page?????????分頁查詢條件
?*?@param?queryWrapper?實體對象封裝操作類
?*/
<E?extends?IPage<Map<String,?Object>>>?E?selectMapsPage(E?page,?@Param(Constants.WRAPPER)?Wrapper<T>?queryWrapper);

E page,這個參數,Page的泛型不是實體,而是

<E?extends?IPage<Map<String,?Object>>>
0 回復 有任何疑惑可以回復我~
#1

濤前李浪

那這種該如何修改?
2020-05-16 回復 有任何疑惑可以回復我~

我也出現了同樣的問題

0 回復 有任何疑惑可以回復我~
@Test
void?selectByPageMap()?{
????QueryWrapper<User>?wrapper?=?new?QueryWrapper<>();
????wrapper.like("name",?"雨");
????IPage<Map<String,?Object>>?page?=?new?Page<>(1,?2);
????IPage<Map<String,?Object>>?userPage?=?userMapper.selectMapsPage(page,?wrapper);
????System.out.println(userPage.getPages());
????System.out.println(userPage.getTotal());
????List<Map<String,?Object>>?users?=?userPage.getRecords();
????users.forEach(System.out::println);
}


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

按照老師的代碼敲,示例是selectMapsPage,但是報錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號