• Mybatis的分页插件PageHelper的使用


      对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select。PageHelper插件可以帮助我们实现对分页的功能,只需要写一个查询语句就可以了。

    原理:利用mybatis拦截器,在查询数据库的时候,拦截下SQL,然后进行修改,从而实现分页。

    针对Maven项目,SSM框架

      第一步:添加依赖

         <!-- pageHelper -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>5.1.2</version>
            </dependency>

    在IDEA中查看jar包依赖

      

    发现它依赖了jsqlparser.jar

      如果是web项目需要将这两个jar包都导进来:

          

    2、在Spring配置文件中配置拦截器插件  

     <!--sqlSessionFactory的配置-->
              <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
                  
                  <!--加载mybatis的核心配置文件 文件路径-->
                  <property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"/>
                  
                  <!--数据源-->
                  <property name="dataSource" ref="dataSource"/>    
                  <!-- 配置mybatis分页插件PageHelper -->                
                    <property name="plugins">
                        <array>
                            <bean class="com.github.pagehelper.PageInterceptor">
                                <property name="properties">
                                    <!-- 使用默认配置 -->                             
                                    <value>                                    
                                    </value>
                                </property>
                            </bean>
                        </array>
                    </property>
              </bean>    

    3、使用插件进行分页处理

      Mapper.xml文件中不需要写分页方法

      

      Mapper接口

      

      在service层调用mapper方法实现分页

      

      在controller层调用service方法后返回json字符串

      

      前台界面返回的数据

      

     如果需要配置拦截器插件的参数,可以参考:

      https://blog.csdn.net/chenjunfengf/article/details/76785442

  • 相关阅读:
    redis安装
    VMware安装Centos
    Nacos简单配置
    RAS非对称加密
    uLua Unity工作机制
    一个长期主义者的内与外
    MacOSX 运行Unity卡顿 [gethostname]
    着眼于长远,走的更稳
    物质趋于无穷, 人群趋于发散.符合熵增加的规律
    论PM与团队与敏捷开发
  • 原文地址:https://www.cnblogs.com/leilong/p/8722988.html
Copyright © 2020-2023  润新知