spring boot mybatis puls 分页两个表拼在一起查询出来
时间: 2024-05-10 13:18:15 浏览: 112
可以使用 MyBatis 的分页插件 PageHelper 来实现多表分页查询。
首先,在 pom.xml 中添加 PageHelper 依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
接着,在 MyBatis 配置文件中配置 PageHelper:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
```
然后,在 Mapper 接口中定义查询方法:
```java
public interface MyMapper {
List<Map<String, Object>> selectData();
}
```
注意,这里的返回值是 List<Map<String, Object>>,表示返回的是多个表的数据,每个表的数据用一个 Map 存储。
最后,在 Service 层中调用 Mapper 方法并设置分页参数:
```java
@Service
public class MyService {
@Autowired
private MyMapper myMapper;
public PageInfo<Map<String, Object>> getData(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Map<String, Object>> data = myMapper.selectData();
return new PageInfo<>(data);
}
}
```
这里使用 PageInfo 对查询结果进行封装,方便前端展示。同时,PageHelper.startPage() 方法设置分页参数,pageNum 表示当前页码,pageSize 表示每页数据条数。
阅读全文