SpringBoot整合MybatisPlus实现分页功能

本文介绍了如何在SpringBoot项目中整合MybatisPlus实现分页功能,包括导入MybatisPlus起步依赖,数据层和服务层继承相应父类,利用分页拦截器简化SQL操作,以及具体的分页代码编写步骤。通过这些步骤,可以轻松实现高效且便捷的分页查询。
摘要由CSDN通过智能技术生成

概要

今天跟着视频做项目,做的是分页功能,视频里使用的是Mybatis技术。但是被动态sql劝退了,虽然学过,但是写一遍好累。所以我就自己改用了MybatisPlus技术来进行分页。下面是具体的步骤。

整体架构流程

一.导入MybatisPlus的起步依赖

在使用任何的第三方技术之前,应先在spring boot的pom文件中导入相关依赖。

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

二.在数据层,服务层以及服务层的实现类继承对应父类

SpringBoot整合MybatisPlus可以很方便地实现分页查询,而MybatisPlus本身也提供了物理分页功能。下面是实现步骤: 1.在pom.xml文件中添加MybatisPlus和分页插件的依赖。 2.在application.yml文件中配置分页插件。 3.在Mapper接口中添加分页查询方法,使用MybatisPlus提供的Page对象进行分页查询。 4.在Service层中调用Mapper接口中的分页查询方法,将查询结果封装到Page对象中返回给Controller层。 5.在Controller层中接收前端传来的分页参数,调用Service层中的分页查询方法,将查询结果返回给前端。 具体实现代码可以参考以下示例: 1.在pom.xml文件中添加MybatisPlus和分页插件的依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> ``` 2.在application.yml文件中配置分页插件: ``` mybatis-plus: configuration: # 开启驼峰命名转换 map-underscore-to-camel-case: true # 配置分页插件 plugins: - com.github.pagehelper.PageInterceptor # 配置分页插件的参数 pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql ``` 3.在Mapper接口中添加分页查询方法,使用MybatisPlus提供的Page对象进行分页查询: ``` public interface UserMapper extends BaseMapper<User> { /** * 分页查询用户列表 * @param page 分页参数 * @return 用户列表 */ List<User> selectUserList(Page<User> page); } ``` 4.在Service层中调用Mapper接口中的分页查询方法,将查询结果封装到Page对象中返回给Controller层: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public Page<User> getUserList(Page<User> page) { return userMapper.selectUserList(page); } } ``` 5.在Controller层中接收前端传来的分页参数,调用Service层中的分页查询方法,将查询结果返回给前端: ``` @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/list") public Result getUserList(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { Page<User> page = new Page<>(pageNum, pageSize); Page<User> userList = userService.getUserList(page); return Result.success(userList); } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值