mybatis分页插件pageHelper详解及简单实例

mybatis分页插件pageHelper详解及简单实例

工作的框架spring springmvc mybatis3

首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下

<!-- 分页助手 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>

其次需要在配置文件中添加配置,有两种方式

1,新建mybatis-config.xml内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">

 <configuration>
 <!-- 分页助手 -->
 <plugins>
  <!-- com.github.pagehelper为PageHelper类所在包名 -->
  <plugin interceptor="com.github.pagehelper.PageHelper">
  <!-- 数据库方言 -->
    <property name="dialect" value="MySQL"/>
    <!-- 设置为true时,使用RowBounds分页会进行count查询 会去查询出总数 -->
    <property name="rowBoundsWithCount" value="true"/>
  </plugin>
</plugins>
 </configuration>

在spring-mybatis.xml中添加一个bean属性

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />

加载全局的配置文件

<property name="configLocation" value="classpath:mybatis-config.xml"></property>

配置mapper的扫描,找到所有的mapper.xml映射文件。

<property name="mapperLocations" value="classpath:com/lyitong/mapping/*.xml"></property>

备注:如果你的mybatis-config.xml配置文件开启了如下别名配置:

<typeAliases>
    <!-- javabean 的首字母小写的非限定类名来作为它的别名(其实别名是不去分大小写的)。也可在javabean 加上注解@Alias 来自定义别名, 例如: @Alias(student) -->
    <package name="com.lyt.usermanage.mapper"/>
  </typeAliases>

那么你的spring和mybatis整合文件就得加上相应的属性,否则会造成mybatis配置文件加载不成功报异常,如下:

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <!-- 加载全局的配置文件 -->
    <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property>
    <!-- 配置mapper的扫描,找到所有的mapper.xml映射文件。 -->
    <property name="mapperLocations" value="classpath:com/lyt/usermanage/mapper/*.xml"></property>
    <!-- 配置类型别名 -->
    <property name="typeAliasesPackage" value="classpath:com/lyt/usermanage/pojo/*"></property>
  </bean>

相比于上面的配置我们这里多了一步

    <property name="typeAliasesPackage" value="classpath:com/lyt/usermanage/pojo/*"></property>

配置的时候要注意mybatis配置文件和spring-mybatis整合文件的属性要统一。

2.如上操作配置完成,下面第二种方法

直接在spring-mybatis.xml中配置如下属性

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:com/lyitong/mapping/*.xml"></property>

<!-- pageHelper 分页插件 -->
<property name="plugins">
  <array>
   <bean class="com.github.pagehelper.PageHelper">
    <property name="properties">
     <value>
      dialect=mysql
      rowBoundsWithCount=true
     </value>
    </property>
   </bean>
  </array>
</property>
</bean>

配置文件加载好之后,就可以直接使用,具体使用代码如下:

PageHelper.startPage(Integer.parseInt(currentPage), Integer.parseInt(pageSize));
  List<LytBbsTz> publishTz = bbsTzDao.getPublishTz(userId);
  PageInfo<LytBbsTz> info = new PageInfo<LytBbsTz>(publishTz);
  map.put("status", 1);
  map.put("tzList", info.getList());
  return map;

前台需要传入的参数是当前页和页面显示数目,当然页面显示数目也可以后台规定,一般在接收参数时最好加上默认配置如下:

@RequestParam(defaultValue="1",value="currentPage")String currentPage, @RequestParam(defaultValue="10",value="pageSize")String pageSize

这是如果接收参数为空字符串时它自身默认显示的页面和条数,这个可以自己规定

以上就是pageHelper的简单应用

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Mybatis实现增删改查及分页查询的方法

    MyBatis的前身就是iBatis.是一个数据持久层(ORM)框架. MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持 久层框架.MyBatis消除了几乎所有的JDBC 代码和参数的手工 设置以及结果集的检索.MyBatis使用简单的XML或注解用于 配置和原始映射,将接口和Java 的POJOs(Plan Old Java Objects,普通的Java 对象)映射成数据库中的记录.每个 MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个 SqlS

  • mybatis分页及模糊查询功能实现

    mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybatis 的 Rowbounds 来实现. 通过(自定义类型)传参 来实现分页: 映射文件: <select id="findListBypage" parameterType="cn.wh.util.PageUtil" resultType="Role"> select * from t_role limit #{index},#{size} &l

  • Mybatis分页插件PageHelper的使用详解

    1.说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页. 2.使用方法 第一步:在Mybatis配置xml中配置拦截器插件: <plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pageh

  • SpringMvc+Mybatis+Pagehelper分页详解

    最近公司需要做一个告警页面的功能,需要分页,查了很多资料发现PageHelper比较合适 故写一篇从零开始的PageHelper使用的教程,也记录下忙活一天的东西 1.首先需要在项目中添加PageHelper的依赖,这里我用的Maven添加 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>

  • Java的MyBatis框架中实现多表连接查询和查询结果分页

    实现多表联合查询 还是在david.mybatis.model包下面新建一个Website类,用来持久化数据之用,重写下相应toString()方法,方便测试程序之用. package david.mybatis.model; import java.text.SimpleDateFormat; import java.util.Date; public class Website { private int id; private String name; private int visito

  • Spring mvc整合mybatis(crud+分页插件)操作mysql

    一.web.xml配置 我们都知道java ee的项目启动的第一件事就是读取web.xml,spring mvc 的web.xml我在上一篇文章中也做了详细讲解,不懂的可以回头看看,讲解的这个项目源码我也会放到github上,也可以去那里看看,这里就不做介绍了. web.xml 配置 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/c

  • Mybatis全面分页插件

    根据下面分页的思想,很容易实现Mybitas的多租户设计. 使用Mybatis提供的拦截器.对分页的SQL语句通过封装处理,处理成不同的分页sql. 本例已经实现了对Mysql和Oracle的分页功能.注意下面的引用包,不要引用错了. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.

  • Java简单实现SpringMVC+MyBatis分页插件

    1.封装分页Page类 package com.framework.common.page.impl; import java.io.Serializable; import com.framework.common.page.IPage; /** * * * */ public abstract class BasePage implements IPage, Serializable { /** * */ private static final long serialVersionUID

  • Mybatis常用分页插件实现快速分页处理技巧

    在未分享整个查询分页的执行代码之前,先了解一下执行流程. 1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X 2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用Java编写前端分页组件 3.用一套比较完整的三层entity,dao,service支持这个分页架构 4.这个分页用到的一些辅助类 注:分享的内容较多,这边的话我就不把需要的jar一一列举,大家使用这个分页功能的时候缺少什么就去晚上找什么jar包即可,尽可能用maven包导入

  • spring boot和mybatis集成分页插件

    MyBatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到SqlSessionFactory中. 首先要说的是,Spring在依赖注入bean的时候,会把所有实现MyBatis中Interceptor接口的所有类都注入到SqlSessionFactory中,作为plugin存在.既然如此,我们集成一个plugin便很简单了,只需要使用@Bean创建PageHelper对象即可. 1.添加pom依赖 <dependency> <groupId>com.g

随机推荐