springboot使用Mybatis-plus分页插件

1. 引入依赖

在 pom.xml 文件中添加 MyBatis Plus 和分页插件的依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>{mybatis-plus-version}</version>
</dependency>

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-extension</artifactId>
    <version>{mybatis-plus-version}</version>
</dependency>

注意替换 {mybatis-plus-version} 为对应的版本号。

2. 配置分页插件

在 Spring Boot 的配置文件 application.yml 中添加分页插件的配置参数:

mybatis-plus:
  configuration:
    # 将下划线转换为驼峰命名规则
    map-underscore-to-camel-case: true
    # 配置 MyBatis Plus 分页插件
    plugins:
      - com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor

注意代码中的注释,其中 PaginationInterceptor 表示使用 MyBatis Plus 提供的分页插件。

3. 接口层代码

在接口层使用 MyBatis Plus 提供的 com.baomidou.mybatisplus.extension.plugins.pagination.Page 类来封装分页参数和查询结果,例如:

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public Page<User> getUsers(int pageNum, int pageSize) {
        // 封装分页参数
        Page<User> page = new Page<>(pageNum, pageSize);
        return userMapper.selectPage(page, null);
    }
}

这里使用 Page 类来封装分页参数,其中 pageNum 表示当前页码,pageSize 表示每页的记录数。使用 selectPage() 方法进行分页查询。

4. DAO 层代码

在 DAO 层的实体类中添加对应的注解和分页参数,例如:

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("user")
public class User {

    private Long id;
    private String name;
    private Integer age;
    private String email;

}

在 DAO 层继承 com.baomidou.mybatisplus.core.mapper.BaseMapper 接口,并使用 MyBatis Plus 提供的注解 @Mapper 和 @Repository,例如:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {

}

到这里,就可以在 Spring Boot 项目中使用 MyBatis Plus 分页插件了

猜你喜欢

转载自blog.csdn.net/weixin_59367964/article/details/130540257