springboot + mybatisplus分页查询
时间: 2023-11-24 20:49:15 浏览: 90
Spring Boot是一个基于Spring框架的快速开发Web应用程序的框架,而Mybatis Plus是Mybatis的增强工具,可以简化Mybatis的开发流程。在Spring Boot中使用Mybatis Plus进行分页查询,需要进行以下步骤:
1. 在pom.xml文件中添加Mybatis Plus和PageHelper的依赖。
2. 编写Mybatis Plus的配置类,其中包括分页插件的配置。
3. 在Mapper接口中编写分页查询的方法。
4. 在Controller中调用Mapper接口中的分页查询方法,并将查询结果返回给前端。
具体实现可以参考引用中提供的代码资源。其中,前端使用Vue和ElementUI进行开发,后端使用Spring Boot和Mybatis Plus进行开发,数据库使用MySQL。在Mybatis Plus的配置类中,使用PaginationInterceptor进行分页插件的配置。在Mapper接口中,使用Mybatis Plus提供的分页查询方法进行分页查询。在Controller中,使用@RequestParam注解获取前端传递的分页参数,并调用Mapper接口中的分页查询方法进行查询。
相关问题
springboot+mybatisplus查询分页
Spring Boot和MyBatis Plus是一对非常好的组合,可以轻松地实现查询分页功能。下面是一个简单的步骤:
1.在pom.xml文件中添加MyBatis Plus和MySQL的依赖。
2.创建一个实体类,并使用MyBatis Plus的注解来映射数据库表。
3.创建一个Mapper接口,并继承MyBatis Plus提供的BaseMapper接口。
4.在Mapper接口中定义一个方法,使用MyBatis Plus提供的分页查询方法来实现分页查询。
5.在Controller中调用Mapper接口中的方法,并将查询结果返回给前端。
下面是一个简单的示例代码:
```
// 实体类
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
// Mapper接口
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserPage(Page<User> page, @Param("name") String name);
}
// Controller
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public Page<User> getUsers(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
@RequestParam(required = false) String name) {
Page<User> page = new Page<>(pageNum, pageSize);
List<User> users = userMapper.selectUserPage(page, name);
page.setRecords(users);
return page;
}
}
```
在上面的示例中,我们使用了MyBatis Plus提供的分页查询方法selectPage,并将查询结果封装到了Page对象中返回给前端。同时,我们还可以通过@RequestParam注解来接收前端传递的分页参数和查询条件。
springboot+mybatisplus 多表分页查询
在 SpringBoot 中使用 MybatisPlus 进行多表分页查询可以按照以下步骤进行操作:
1. 在 pom.xml 中添加 MybatisPlus 和分页插件的依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 创建实体类和 Mapper 接口,使用注解进行配置。例如,如果要进行两张表的联表分页查询,可以创建一个包含两个表的实体类,其中使用 `@Table` 注解指定表名,使用 `@TableField` 注解指定字段名:
```java
@Data
@TableName("table1 t1")
public class Table1AndTable2Entity {
@TableField("t1.id")
private Integer id;
@TableField("t1.name")
private String name;
@TableField("t2.field1")
private String field1;
@TableField("t2.field2")
private String field2;
}
```
```java
public interface Table1AndTable2Mapper extends BaseMapper<Table1AndTable2Entity> {
List<Table1AndTable2Entity> selectTable1AndTable2(Page<Table1AndTable2Entity> page);
}
```
3. 在 Service 层中调用 Mapper 的分页查询方法:
```java
@Service
public class Table1AndTable2ServiceImpl implements Table1AndTable2Service {
@Autowired
private Table1AndTable2Mapper table1AndTable2Mapper;
@Override
public Page<Table1AndTable2Entity> selectTable1AndTable2(Page<Table1AndTable2Entity> page) {
return page.setRecords(table1AndTable2Mapper.selectTable1AndTable2(page));
}
}
```
4. 在 Controller 层中接收前端传入的分页参数,并调用 Service 层的方法进行查询:
```java
@RestController
@RequestMapping("/table1AndTable2")
public class Table1AndTable2Controller {
@Autowired
private Table1AndTable2Service table1AndTable2Service;
@GetMapping("/list")
public Result<List<Table1AndTable2Entity>> list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
@RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
Page<Table1AndTable2Entity> page = new Page<>(pageNum, pageSize);
Page<Table1AndTable2Entity> pageResult = table1AndTable2Service.selectTable1AndTable2(page);
return Result.success(pageResult.getRecords(), pageResult.getTotal());
}
}
```
这样,就可以使用 MybatisPlus 进行多表分页查询了。
阅读全文