MyBatis 페이징 플러그인 -PageHelper
소스 코드
기본 방언 정보
- PageAutoDialect 클래스에서 먼저 다음과 같이 실행 된 dialect 클래스를 dialectAliasMap에 추가합니다.
registerDialectAlias("mysql", MySqlDialect.class);
- 데이터베이스 구성 URL에 따라 해당 언어를 가져옵니다.
private String fromJdbcUrl(String jdbcUrl) {
final String url = jdbcUrl.toLowerCase();
for (String dialect : dialectAliasMap.keySet()) {
if (url.contains(":" + dialect.toLowerCase() + ":")) {
return dialect;
}
}
return null;
}
쪽수 매기기
//第六种,ISelect 接口方式
//jdk6,7用法,创建接口
Page<User> page = PageHelper.startPage(1, 10).doSelectPage(new ISelect() {
@Override
public void doSelect() {
userMapper.selectGroupBy();
}
});
//jdk8 lambda用法
Page<User> page = PageHelper.startPage(1, 10).doSelectPage(()-> userMapper.selectGroupBy());
//也可以直接返回PageInfo,注意doSelectPageInfo方法和doSelectPage
pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(new ISelect() {
@Override
public void doSelect() {
userMapper.selectGroupBy();
}
});
//对应的lambda用法
pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> userMapper.selectGroupBy());