本文主要是介绍mysql速学系列:mybatis分页和mybatis-plus分页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MyBatis 和 MyBatis-Plus 都是用于数据持久化的框架,它们都支持分页查询,但是在 Spring Boot 中的使用方式有所不同。
MyBatis 分页:
MyBatis 本身不提供内置的分页插件,但可以通过集成第三方分页插件来实现分页功能,最常用的是 PageHelper。
-
添加依赖: 在 Spring Boot 项目的
pom.xml
文件中添加 PageHelper 的依赖。<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>最新版本</version> </dependency>
-
配置分页插件: 在 Spring Boot 的配置类中配置 PageHelper,通常不需要额外配置,因为 PageHelper 会自动配置。
@Configuration public class MyBatisConfig {@Beanpublic PageHelper pageHelper() {return new PageHelper();} }
-
使用分页: 在服务层或控制器层中使用 PageHelper 的
startPage
方法来指定分页参数,然后执行查询。import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;@Service public class UserService {@Autowiredprivate UserMapper userMapper;public PageInfo<User> getUserPage(int pageNum, int pageSize) {PageHelper.startPage(pageNum, pageSize);List<User> users = userMapper.selectAll();return new PageInfo<>(users);} }
MyBatis-Plus 分页:
MyBatis-Plus 提供了内置的分页插件,使用起来更加方便。
-
添加依赖: 在 Spring Boot 项目的
pom.xml
文件中添加 MyBatis-Plus 的依赖。<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>最新版本</version> </dependency>
-
配置分页插件: 在 Spring Boot 的配置类中配置 MyBatis-Plus 的分页插件。
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 {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor());return interceptor;} }
-
使用分页: 在服务层中使用 MyBatis-Plus 的
Page
对象来指定分页参数,然后调用 Mapper 接口的selectPage
方法。import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;@Service public class UserService {@Autowiredprivate UserMapper userMapper;public IPage<User> getUserPage(int pageNum, int pageSize) {Page<User> page = new Page<>(pageNum, pageSize);return userMapper.selectPage(page, null); // 第二个参数可以传入查询条件} }
在 Spring Boot 中使用 MyBatis-Plus 分页时,通常不需要额外的配置,因为 MyBatis-Plus 已经内置了分页插件。而 MyBatis 则需要集成 PageHelper 这样的第三方分页插件。两者都能很好地满足分页查询的需求,选择哪一个取决于你的项目需求和个人偏好。
这篇关于mysql速学系列:mybatis分页和mybatis-plus分页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!