mybatis

Mybatis分页框架怎样进行配置

小樊
83
2024-10-13 15:34:37
栏目: 编程语言

MyBatis 分页插件(PageHelper)的配置相对简单,主要通过以下几个步骤进行配置:

  1. 引入依赖:首先,在你的项目中引入 PageHelper 的依赖。如果你使用的是 Maven,可以在 pom.xml 文件中添加以下依赖:

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.2.0</version>
    </dependency>
    

    如果你使用的是 Gradle,可以在 build.gradle 文件中添加以下依赖:

    implementation 'com.github.pagehelper:pagehelper:5.2.0'
    
  2. 配置 MyBatis:在 MyBatis 的配置文件(通常是 mybatis-config.xml)中,添加 PageHelper 的配置。例如:

    <configuration>
        <!-- 其他配置 -->
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                <!-- 这里可以配置分页参数 -->
                <property name="helperDialect" value="mysql"/>
                <property name="offsetAsPageNum" value="true"/>
                <property name="rowBoundsWithCount" value="true"/>
                <property name="pageSizeZero" value="true"/>
                <property name="reasonable" value="false"/>
                <property name="params" value="pageNum=page;pageSize=limit;"/>
                <property name="supportMethodsArguments" value="true"/>
                <property name="returnPageInfo" value="none"/>
            </plugin>
        </plugins>
    </configuration>
    

    这里的配置项可以根据你的需求进行调整。例如,helperDialect 用于指定数据库类型,offsetAsPageNumrowBoundsWithCount 用于控制分页逻辑,pageSizeZero 用于允许查询第一页时不分页等。

  3. 使用分页插件:在你的 DAO 或者 Service 层中,你可以直接使用 PageHelper 进行分页查询。例如:

    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import java.util.List;
    
    public class UserDao {
        // ...
    
        public PageInfo<User> getUsersByPage(int pageNum, int pageSize) {
            PageHelper.startPage(pageNum, pageSize);
            List<User> users = userMapper.selectUsers();
            return new PageInfo<>(users);
        }
    }
    

    在这个例子中,PageHelper.startPage(pageNum, pageSize) 用于启动分页查询,PageInfo<User> 用于封装分页查询结果,包括总记录数、总页数、当前页记录等。

通过以上步骤,你就可以在你的项目中使用 MyBatis 分页插件(PageHelper)进行分页查询了。

0
看了该问题的人还看了