mybatis分页插件pagehelper的使用

来源:互联网 发布:无实体软件出口 编辑:程序博客网 时间:2024/06/06 04:58

第一步:引入pageHelper的jar包。

<!-- pagehelper -->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>4.1.6</version>

</dependency>


第二步:需要在SqlMapConfig.xml中配置插件。

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEconfiguration

            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

            "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<settings>
<!-- 开启驼峰匹配 -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>

<!-- 别名定义 -->
<typeAliases>
<!-- 针对单个别名定义
type: 类型的路径
alisa: 别名
 -->
<!-- <typeAlias type="com.want.mybatis.pojo.User" alias="user"/> -->

<!-- 批量别名定义
指定包名,mybatis自动扫描包中的pojo类,自动定义别名,别名就是类名(首字母大写或小写都可以)
 -->
<package name="com.want.mybatis.pojo"/>
</typeAliases>

      <!-- 配置分页插件 -->

      <plugins>

            <plugininterceptor="com.github.pagehelper.PageHelper">

                  <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->       

           <propertyname="dialect"value="mysql"/>

            </plugin>

      </plugins>

</configuration>

 

第三步:在查询的sql语句执行之前,添加一行代码:

PageHelper.startPage(1, 10);

第一个参数是page,要显示第几页。

第二个参数是rows,没页显示的记录数。

第四步:取查询结果的总数量。

创建一个PageInfo类的对象,从对象中取分页信息。



测试代码

@RequestMapping("queryUserByPage3")     
public ModelAndView queryUserByPage3( @RequestParam(required=true,defaultValue="1") Integer start,
@RequestParam(required=false,defaultValue="10") Integer pageSize) {      
//分页处理   
PageHelper.startPage(start, pageSize);
List<User> list  = userService.queryUserByPage();
//取分页信息
PageInfo<User> page = new PageInfo<User>(list);    
long total = page.getTotal();
System.out.println("共有:"+ total);

ModelAndView mv=new ModelAndView();
mv.setViewName("test1");
mv.addObject("userList", list);
mv.addObject("page", page);     
return mv;     
}