1. 程式人生 > >mybatis分頁插件pageHelper簡單實用

mybatis分頁插件pageHelper簡單實用

pretty mysql RM com 新建 attribute 首字母 ntp esp

工作的框架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的簡單應用,如有不足請留言一起探討,謝謝!!!!

mybatis分頁插件pageHelper簡單實用