MyBatis-Plus 提供了强大的分页插件,可以方便地实现数据库查询结果的分页。
以下是关于 MyBatis-Plus 分页插件的详细介绍,包括如何配置和使用。
1. 添加依赖
首先,需要在项目中添加 MyBatis-Plus 和分页插件的相关依赖。使用 Maven,在 pom.xml
文件中添加:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.7</version>
</dependency>
2. 配置分页插件
在 Spring Boot 项目中,通常需要在配置类中添加分页插件配置。创建一个配置类来配置 MyBatis-Plus 分页插件。
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}
3. 使用分页插件
MyBatis-Plus 分页插件提供了 Page
类用于分页查询。可以在 Mapper 接口中使用分页查询方法,或者在 Service 层中进行调用。
示例:使用分页插件进行查询
假设有一个 User
实体类和对应的 Mapper 接口:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自定义分页查询方法
Page<User> selectUserPage(Page<User> page);
}
在 Service 层中使用分页查询:
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public Page<User> getUserPage(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
}
在 Controller 层中调用 Service 层方法进行分页查询:
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public Page<User> getUsers(@RequestParam int pageNum, @RequestParam int pageSize) {
return userService.getUserPage(pageNum, pageSize);
}
}
4. 配置分页插件属性
分页插件的一些常见配置项可以在 application.properties
或 application.yml
中进行设置。
# application.properties
mybatis-plus.configuration.log-impl=STDOUT_LOGGING
mybatis-plus.global-config.db-config.id-type=auto
5. 处理分页查询参数
在分页查询中,可以通过 Page
类传递分页参数,如当前页码和每页记录数。分页插件会自动处理 SQL 查询,生成分页所需的 LIMIT
和 OFFSET
。
Page<User> page = new Page<>(1, 10); // 第1页,每页10条记录
Page<User> userPage = userMapper.selectPage(page, null);
总结
- 添加依赖:在项目中添加 MyBatis-Plus 和分页插件的依赖。
- 配置插件:在配置类中配置 MyBatis-Plus 分页插件。
- 使用分页:在 Mapper 和 Service 层使用
Page
类进行分页查询。 - 分页查询参数:通过
Page
类传递分页参数,插件会自动处理分页 SQL。
这样配置和使用 MyBatis-Plus 的分页插件可以方便地进行分页查询,并简化了分页处理的复杂性。
标签:插件,MybatisPlus,分页,org,import,com,Page From: https://www.cnblogs.com/echohye/p/18349945