java mybatis 分页查询
时间: 2023-10-04 17:12:46 浏览: 103
Java使用MyBatis框架分页的5种方式
在 Java 中使用 MyBatis 进行分页查询可以按照以下步骤进行操作:
1. 首先,需要在数据库配置文件(比如 `mybatis-config.xml`)中配置分页插件。在 `<configuration>` 标签内添加如下配置:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
```
这里以 MySQL 数据库为例,如果是其他数据库,请根据实际情况配置相应的 `dialect`。
2. 在需要进行分页查询的方法上添加分页参数。一般情况下,分页查询会有两个参数:页码和每页的记录数。可以使用 MyBatis 提供的 `RowBounds` 或者传递多个参数的方式来实现。
使用 `RowBounds` 的示例代码如下:
```java
List<User> getUsersByPage(SqlSession sqlSession, int pageNum, int pageSize) {
RowBounds rowBounds = new RowBounds((pageNum - 1) * pageSize, pageSize);
return sqlSession.selectList("UserMapper.getUsers", null, rowBounds);
}
```
使用多个参数的方式示例代码如下:
```java
List<User> getUsersByPage(SqlSession sqlSession, int offset, int limit) {
return sqlSession.selectList("UserMapper.getUsersByPage", Map.of("offset", offset, "limit", limit));
}
```
3. 在 MyBatis 的映射文件中编写对应的 SQL 语句。例如,假设查询用户表(user)中的数据,可以使用类似以下的 SQL 语句:
```xml
<select id="getUsers" resultType="User">
SELECT * FROM user
</select>
```
或者使用带有参数的 SQL 语句:
```xml
<select id="getUsersByPage" resultType="User">
SELECT * FROM user LIMIT #{offset}, #{limit}
</select>
```
以上是使用 MyBatis 进行分页查询的基本步骤。根据实际情况,你可以根据具体需求进行调整和优化。
阅读全文