基本上我们做的项目中很多都是用到了分页这个功能,每次使用自己写的感觉很烦做而且很麻烦,看到mybatis有这样的一个插件倒是省去不少事,在这里就简单介绍下如何使用mybatis分页插件达到分页的功能效果。
首先我们要加入关于分页的相关jar支持,在maven中我们在pom.xml 文件中加入分页插件的支持。
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
其次还要在spring-mybatis.xml配置上插件
mybatis的SqlSession的工厂
<!-- mybatis的SqlSession的工厂: SqlSessionFactoryBean dataSource / typeAliasesPackage -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- mybatis自动扫描加载Sql映射文件mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/mhkjup/artcircle/mapping/*.xml"></property>
<!--这里是设置分页插件的地方-->
<property name="plugins">
<array><bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
helperDialect=mysql
reasonable=true
supportMethodsArguments=true
</value>
</property>
</bean>
</array>
</property>
<!-- 为该包下的所有实体类添加别名,默认为类名 -->
<property name="typeAliasesPackage" value="com.mhkjup.artcircle.db" />
</bean>
加入之后我们就可以使用插件去实现分页功能了。
其他还是一样,在controller中传入两个参数,页码和每页显示多少条数据即:pageNum和pageSize
参数传入service类的接口处理分页的实现:
// 设置分页条件,Parameters:pageNum 页码pageSize 每页显示数量count 是否进行count查询
PageHelper.startPage(pageNum, pageSize, true);
List<memberDB> member = memberdao.getList(mem);//此条数据为我们查询的结果集
//查询到的结果集实现分页的效果
map.put("data", pageInfo);//返回的结果是带分页效果的数据
map.put("code", 200);
map.put("msc", "查询成功");
return map;
除此之外在我们的mapper中不需要再做分页的相关设置了,这样就可以实现我们查询想要的分页结果,是不是很简单呢!