13 PageHelpler改ページプラグイン
概要
学習ドキュメント
PageHelpler使用手順
1.改ページプラグインJARを導入する Jarパケットを導入する 最新バージョンのjarパッケージは下記のアドレスからダウンロードできます。https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ sql解析ツールを使用していますので、jsql parser.jarをダウンロードする必要があります。http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.5/ Maven方式
特に注意してください。新版のスクリーンセーバはcomp.githb.pagehelper.PageInterceptorです。comple.githb.pagehelper.PageHelperは現在、特別なdialect実現クラスであり、改ページプラグインのデフォルト実装クラスであり、以前と同じ使い方を提供しています。
2.1 MyBatis設定xmlに傍受プラグインを配置する
springの属性構成を使用して、plugins属性を以下のように構成することができます。
3.コードの使い方
改ページプラグインは、以下のいくつかの呼び出し方法をサポートしています。
学習ドキュメント
PageHelpler使用手順
1.改ページプラグインJARを導入する
<dependency>
<groupId>com.github.pagehelpergroupId>
<artifactId>pagehelperartifactId>
<version>5.1.6version>
dependency>
2.スクリーンセーバープラグインの設定特に注意してください。新版のスクリーンセーバはcomp.githb.pagehelper.PageInterceptorです。comple.githb.pagehelper.PageHelperは現在、特別なdialect実現クラスであり、改ページプラグインのデフォルト実装クラスであり、以前と同じ使い方を提供しています。
2.1 MyBatis設定xmlに傍受プラグインを配置する
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="param1" value="value1"/>
plugin>
plugins>
2.2 Springプロファイルにブロッキングプラグインを設定するspringの属性構成を使用して、plugins属性を以下のように構成することができます。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
params=value1
value>
property>
bean>
array>
property>
bean>
2.3改ページプラグインのパラメータ紹介3.コードの使い方
改ページプラグインは、以下のいくつかの呼び出し方法をサポートしています。
// ,RowBounds
List<Country> list = sqlSession.selectList("x.y.selectIf", null, new RowBounds(0, 10));
// ,Mapper , 。
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectIf(1);
// ,Mapper , 。
PageHelper.offsetPage(1, 10);
List<Country> list = countryMapper.selectIf(1);
// ,
// Mapper , xml
public interface CountryMapper {
List<Country> selectByPageNumSize(
@Param("user") User user,
@Param("pageNum") int pageNum,
@Param("pageSize") int pageSize);
}
// supportMethodsArguments=true
// :
List<Country> list = countryMapper.selectByPageNumSize(user, 1, 10);
// ,
// pageNum pageSize User , ,
// User
public class User {
// fields
// params
private Integer pageNum;
private Integer pageSize;
}
// Mapper , xml
public interface CountryMapper {
List<Country> selectByPageNumSize(User user);
}
// user pageNum!= null && pageSize!= null ,
List<Country> list = countryMapper.selectByPageNumSize(user);
// ,ISelect
//jdk6,7 ,
Page<Country> page = PageHelper.startPage(1, 10).doSelectPage(new ISelect() {
@Override
public void doSelect() {
countryMapper.selectGroupBy();
}
});
//jdk8 lambda
Page<Country> page = PageHelper.startPage(1, 10).doSelectPage(()-> countryMapper.selectGroupBy());
// PageInfo, doSelectPageInfo doSelectPage
pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(new ISelect() {
@Override
public void doSelect() {
countryMapper.selectGroupBy();
}
});
// lambda
pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> countryMapper.selectGroupBy());
//count , count
long total = PageHelper.count(new ISelect() {
@Override
public void doSelect() {
countryMapper.selectLike(country);
}
});
//lambda
total = PageHelper.count(()->countryMapper.selectLike(country));