MyBatis Pagination Plugin-PageHelper
Source code
Basic dialect information
- In the PageAutoDialect class, first add the executed dialect class to dialectAliasMap, such as:
registerDialectAlias("mysql", MySqlDialect.class);
- According to the database configuration URL, get the corresponding dialect
private String fromJdbcUrl(String jdbcUrl) {
final String url = jdbcUrl.toLowerCase();
for (String dialect : dialectAliasMap.keySet()) {
if (url.contains(":" + dialect.toLowerCase() + ":")) {
return dialect;
}
}
return null;
}
Pagination
//第六种,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());