实现分页查询和MyBatis分页插件使用流程
时间: 2024-09-12 09:09:53 浏览: 49
06实现mybatis分页插件demo
5星 · 资源好评率100%
在MyBatis框架中实现分页查询通常需要借助其提供的分页插件,比如PageHelper或者Mybatis-Plus等。下面是基本的使用流程:
1. 添加分页插件依赖:
首先,你需要在项目的pom.xml文件中添加对应的分页插件依赖。例如,如果你选择的是PageHelper,可以在maven仓库找到它并添加到dependencies部分。
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<!-- 版本号 -->
<version>5.x.x</version>
</dependency>
```
2. 配置插件:
在应用启动配置文件(如Spring Boot的application.properties或yml),或者直接在MyBatis的配置文件(sqlMapConfig.xml或mybatis-config.xml)中,设置分页插件的相关属性。比如设置默认的Dialect(数据库方言)、页面大小等。
```properties
# Spring Boot示例
spring.datasource.type=com.alibaba.druid.DruidDataSource
pagehelper.helperDialect=mysql
# MyBatis XML配置示例
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="reasonable" value="true" /> <!-- 是否开启合理化分页 -->
<property name="supportMethodsArguments" value="true" /> <!-- 支持动态SQL参数 -->
<property name="params" value="offset,limit" /> <!-- 查询参数名称 -->
</plugin>
</plugins>
```
3. 使用分页查询:
在你的Mapper接口方法中,使用分页插件提供的方法进行分页查询。例如,在一个List<User>类型的查询中加上分页参数:
```java
@Select("SELECT * FROM user LIMIT #{offset}, #{limit}")
List<User> getUserList(@Param("offset") int offset, @Param("limit") int limit);
```
4. 调用查询:
在Service层或者Controller层,你可以通过注入Mapper,并传入自定义的起始位置(offset)和每页数量(limit)来获取分页结果:
```java
PageHelper.startPage(pageNum, pageSize); // 分页开始位置,每页数量
List<User> userList = userMapper.getUserList(pageNum, pageSize);
```
阅读全文