mybatis多表联查怎么分页
时间: 2023-11-02 14:01:53 浏览: 155
在 MyBatis 中进行多表联查并分页,可以通过使用嵌套查询或者使用联合查询的方式实现。以下是两种常见的方法:
1. 嵌套查询:
首先,定义好需要联查的 SQL 语句,并使用嵌套查询将其包裹到一个外层查询中。然后,在外层查询中使用 LIMIT 和 OFFSET 实现分页。
示例代码如下:
```xml
<select id="findPageResult" resultMap="resultMap">
SELECT * FROM (
SELECT t1.*, t2.*
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.table1_id
-- 其他联查条件
ORDER BY t1.id
) sub
LIMIT #{pageSize} OFFSET #{offset}
</select>
```
2. 联合查询:
可以直接在 SQL 语句中使用联合查询,并使用 LIMIT 和 OFFSET 实现分页。
示例代码如下:
```xml
<select id="findPageResult" resultMap="resultMap">
SELECT t1.*, t2.*
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.table1_id
-- 其他联查条件
ORDER BY t1.id
LIMIT #{pageSize} OFFSET #{offset}
</select>
```
其中,#{pageSize} 表示每页的大小,#{offset} 表示偏移量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)