MyBatisPlus分页查询
【摘要】 1.sun-common-mybatisplus编写配置类/** * mybatis自带的分页插件 * @return */@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterc...
1.sun-common-mybatisplus编写配置类
/**
* mybatis自带的分页插件
* @return
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
2.sun-user
1.UserListReq.java
package com.sunxiansheng.user.entity.req;
import lombok.Data;
/**
* Description: mybatis分页查询
* @Author sun
* @Create 2024/7/9 16:53
* @Version 1.0
*/
@Data
public class UserListReq {
private Integer pageIndex;
private Integer pageSize;
}
2.UserDto.java
package com.sunxiansheng.user.entity.dto;
import lombok.Data;
/**
* Description: 从数据库中查询数据
* @Author sun
* @Create 2024/7/9 16:01
* @Version 1.0
*/
@Data
public class UserDto {
private String name;
private Integer age;
// 分页参数
private Integer pageIndex;
private Integer pageSize;
}
3.UserController.java
@GetMapping
public Result<PageResult<UserPo>> getPage(@RequestBody UserListReq userListReq) {
UserDto userDto = new UserDto();
BeanUtils.copyProperties(userListReq, userDto);
PageResult<UserPo> userPage = userService.getUserPage(userDto);
return Result.ok(userPage);
}
4.service
1.UserService.java
PageResult<UserPo> getUserPage(UserDto userDto);
2.UserServiceImpl.java
@Override
public PageResult<UserPo> getUserPage(UserDto userDto) {
Page<UserPo> userPoPage = new Page<>(userDto.getPageIndex(), userDto.getPageSize());
IPage<UserPo> userPage = userMapper.getUserPage(userPoPage);
PageResult<UserPo> pageResult = new PageResult<>();
pageResult.loadData(userPage);
return pageResult;
}
5.mapper
1.UserMapper.java
package com.sunxiansheng.user.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sunxiansheng.user.entity.po.UserPo;
/**
* Description:
* @Author sun
* @Create 2024/7/9 15:59
* @Version 1.0
*/
public interface UserMapper extends BaseMapper<UserPo> {
IPage<UserPo> getUserPage(IPage<UserPo> userPoIPage);
}
2.UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sunxiansheng.user.mapper.UserMapper">
<select id="getUserPage" resultType="com.sunxiansheng.user.entity.po.UserPo">
select id, name, age
from user
where delete_flag = 0
</select>
</mapper>
6.PageResult.java
package com.sunxiansheng.user.entity;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
/**
* Description:
* @Author sun
* @Create 2024/7/12 15:18
* @Version 1.0
*/
@Data
public class PageResult<T> implements Serializable {
private Long total;
private Long size;
private Long current;
private Long pages;
private List<T> records = Collections.emptyList();
public void loadData(IPage<T> pageData) {
this.setCurrent(pageData.getCurrent());
this.setPages(pageData.getPages());
this.setSize(pageData.getSize());
this.setTotal(pageData.getTotal());
this.setRecords(pageData.getRecords());
}
}
3.测试
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)