我是靠谱客的博主 冷傲睫毛膏,最近开发中收集的这篇文章主要介绍MyBatis+Mysql实现分页插件PageInfo,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用方法


引入分页插件一共有下面2种方式,推荐使用Maven方式,这种方式方便更新。


1. 引入Jar包


如果你想使用本项目的jar包而不是直接引入类,你可以在这里下载各个版本的jar包(点击Download下的jar即可下载)


https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/


http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/


由于使用了sql解析工具,你还需要下载jsqlparser.jar(这个文件完全独立,不依赖其他):


http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/


http://git.oschina.net/free/Mybatis_PageHelper/attach_files


2.使用maven


添加如下依赖:


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



在mybatis.xml文件中配置


<!-- PageHelper分页插件配置 -->
	<plugins>
		<!-- com.github.pagehelper为PageHelper类所在包名 -->
		<plugin interceptor="com.github.pagehelper.PageHelper">
			<!-- 4.0.0以后版本可以不设置该参数 -->
			<property name="dialect" value="mysql" />
			<!-- 该参数默认为false -->
			<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
			<!-- 和startPage中的pageNum效果一样 -->
			<property name="offsetAsPageNum" value="true" />
			<!-- 该参数默认为false -->
			<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
			<property name="rowBoundsWithCount" value="true" />
			<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
			<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->
			<property name="pageSizeZero" value="true" />
			<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
			<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
			<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
			<property name="reasonable" value="false" />

			<!-- 支持通过Mapper接口参数来传递分页参数 -->
			<property name="supportMethodsArguments" value="false" />
			<!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
			<property name="returnPageInfo" value="none" />
		</plugin>
	</plugins>


在Service的实现类中调用Dao中的查询方法时加入一段代码(当前页码,分页大小,排序的列)

public List<ScoreCheckList> getListCheckBySemester(String likeSem,int epage, int pagesize) {
		// TODO Auto-generated method stub
		PageHelper.startPage(epage, pagesize,"addtime DESC");
		return scoreCheckListDao.getListCheckBySemester(likeSem);
	}

这样子分页插件会自动在你的查询语句后面添加 order by addtime DESC limit ?,?

后面的两个问号表示从第几条数据开始、查几条数据

最后你在Action层中加入
PageInfo pageInfo=new PageInfo(listcheck);
后面放入的listcheck就是你service层返回的list集合


这样PageInfo就会自动给你进行计算分页了。

最后

以上就是冷傲睫毛膏为你收集整理的MyBatis+Mysql实现分页插件PageInfo的全部内容,希望文章能够帮你解决MyBatis+Mysql实现分页插件PageInfo所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部