一、 自定义SQL分页查询,并封装只Servcie层
- 在Mapper接口中定义查询方法,使用注解的方式
@Select("select account,name,remark from user")
IPage<[映射上面三个字段的实体]> selectBasicInfo(IPage<[映射上面三个字段的实体]> page);
- 在IServic层中定义该方法
IPage<UserVo> selectBasicInfo(IPage<UserVo> page);
- 在IServicImpl中实现它的具体方法
@Autowired
UserMapper userMapper;
@Override
public IPage<UserVo> selectBasicInfo(IPage<UserVo> page) {
return userMapper.selectBasicInfo(page);
}
在此 userMapper会爆红 但是不用管它能运行
- 在Controller层中使用它
@Autowired
IUserService userService;
@RequestMapping("/all")
public Result all(@RequestParam(defaultValue = "1") Integer crrPage){
Page page =new Page(crrPage,8);
IPage userDtos =userService.selectBasicInfo(page);//userService.page(page,new QueryWrapper<User>());
Assert.notNull(userDtos,"未获取到任何用户!");
IPage<UserVo> userVo = null;
//BeanUtil.copyProperties(userDtos,userVo);
return Result.Success(userDtos);
}
注意:调用时依旧使用 IUserServic 而不是IUserServiceImpl