按照老师的代码敲,示例是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确实没有推断出来,不过代码相同,为什么跑步起来?