使用mybatis-plus如何实现分页查询功能

本文介绍了如何使用mybatis-plus实现分页查询功能,包括引入依赖、配置数据库、扫描mapper包,以及实体、mapper、service、impl和controller层的具体操作。通过这些步骤,可以轻松实现基于mybatis-plus的数据库分页查询。
摘要由CSDN通过智能技术生成

1.   引入依赖:

<!-- 引入mybatisPlus -->
  <dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.2.0</version>
  </dependency>

2. 在application.yml配置 好数据库
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/数据库?characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: 数据库密码
 

3.在启动类上面添加@MapperScan注解,扫描mapper包

或者在mapper层加@mapper注解

@MapperScan("mapper层的路径")

剩下的就是

实体

mapper:查询到未被逻辑删的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Mybatis-Plus 是基于 Mybatis 的增强工具,可以简化 Mybatis 的开发,其中包括分页查询实现实现分页查询的步骤如下: 1. 在实体类中定义分页参数,如当前页码和每页记录数。 2. 在 Mapper 接口中定义分页方法,使用 Mybatis-Plus 提供的 Page 类作为参数。 3. 在 SQL 语句中使用 limit 子句来限制返回的记录数,同时计算偏移量。 4. 在 Service 层调用 Mapper 接口中的分页方法,将查询结果封装到 Page 对象中,返回给 Controller 层。 例如,假设有一个 User 实体类,其中定义了 currentPage 和 pageSize 两个分页参数。则在 UserMapper 接口中,可以定义一个分页查询方法如下: ```java List<User> selectPage(Page<User> page, @Param("name") String name); ``` 在 SQL 语句中,可以使用 limit 子句来限制返回的记录数,同时计算偏移量,例如: ```sql SELECT * FROM user WHERE name LIKE #{name} LIMIT #{page.offset}, #{page.size} ``` 在 Service 层中,调用 Mapper 接口的分页方法,如下: ```java Page<User> page = new Page<>(currentPage, pageSize); List<User> userList = userMapper.selectPage(page, name); return page.setRecords(userList); ``` 其中,Page 对象中的 currentPage 和 pageSize 参数表示当前页码和每页记录数,setRecords() 方法将查询结果封装到 Page 对象中。最终返回给 Controller 层。 ### 回答2: Mybatis-plus是Mybatis的增强版,他提供了一些简化开发的功能,其中分页查询是其中之一。下面是实现分页查询的步骤: 1. 导入依赖 在pom.xml中添加mybatis-plus的依赖 ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 2. 创建分页参数类 创建一个分页参数类,包含当前页、每页记录数等属性。 ```java public class PageParam { // 当前页,从1开始 private Integer current = 1; // 每页记录数 private Integer size = 10; // 查询条件 private Map<String, Object> conditions = new HashMap<>(); // 排序字段 private String orderBy; // 是否升序排序,默认升序 private Boolean asc = true; // 省略getter和setter } ``` 3. 调用分页方法 在service层中调用mybatis-plus的分页方法。 ```java public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public Page<User> getUserList(PageParam pageParam) { // 分页条件 Page<User> page = new Page<>(pageParam.getCurrent(), pageParam.getSize()); // 查询条件 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); for (Map.Entry<String, Object> entry : pageParam.getConditions().entrySet()) { queryWrapper.eq(entry.getKey(), entry.getValue()); } // 排序条件 String orderBy = pageParam.getOrderBy(); if (!StringUtils.isEmpty(orderBy)) { if (pageParam.getAsc()) { queryWrapper.orderByAsc(orderBy); } else { queryWrapper.orderByDesc(orderBy); } } // 执行查询 return userMapper.selectPage(page, queryWrapper); } } ``` 4. 调用分页查询方法 在controller中调用service的分页查询方法,并传入分页参数。 ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/list") public Result getUserList(PageParam pageParam) { Page<User> userList = userService.getUserList(pageParam); return Result.success(userList); } } ``` 以上就是使用mybatis-plus实现分页查询的步骤,关键点在于创建分页参数类和调用分页方法。使用mybatis-plus可以简化分页查询的代码编写,提高开发效率。 ### 回答3: Mybatis-Plus是基于Mybatis的强大增强库,其中封装了许多方便的CRUD操作接口,并且提供了很多方便的工具类。本文主要介绍如何使用Mybatis-Plus实现分页查询。 1. 导入Mybatis-Plus依赖库 在maven的pom.xml文件中加入以下依赖库: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.3.1</version> </dependency> ``` 2. 配置Mybatis-Plus分页插件 在Spring Boot的配置文件application.properties或application.yml中加入以下配置: ```properties # 开启分页插件 mybatis-plus.configuration.properties.mybatis.configuration.default-statement-timeout=3000 mybatis-plus.configuration.properties.mybatis.configuration.cache-enabled=false mybatis-plus.configuration.properties.mybatis.helper-dialect=mysql mybatis-plus.configuration.properties.mybatis.format_sql=true mybatis-plus.configuration.mapper-locations=classpath:/mappers/**/*.xml mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl mybatis-plus.configuration.plugins=com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor ``` 3. 实现分页查询Mybatis-Plus中,分页查询使用的是Page对象。首先需要创建一个Page对象,设置当前页数和每页数据条数。例如: ```java Page<User> page = new Page<>(1, 10); ``` 接着使用Mybatis-Plus提供的selectPage方法进行分页查询: ```java IPage<User> iPage = userMapper.selectPage(page, new QueryWrapper<User>().lambda() .gt(User::getAge, 25) .eq(User::getEmail, "test@test.com") ); ``` 其中,userMapperMapper接口,selectPage方法是Mapper接口中自动生成的方法,QueryWrapper是Mybatis-Plus提供的条件构造器,可以根据自己业务逻辑选择使用。 最后,使用IPage对象获取分页数据: ```java List<User> userList = iPage.getRecords(); ``` 以上就是使用Mybatis-Plus实现分页查询的步骤。Mybatis-Plus提供了非常方便的工具类,使得我们能够快速便捷地完成分页查询。在实际开发中,可以根据具体场景进行灵活运用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值