原先分页是
SELECT TMP_PAGE.*, ROWNUM PAGEHELPER_ROW_ID FROM
需改成
OFFSET ? ROWS FETCH FIRST ? ROWS ONLY
配置文件增加
pagehelper:
helper-dialect: com.dd.oss.common.datasource.mybatis.AS400Dialect
增加类 AS400Dialect,这个高版本会有的,不用新增这个类了。5.2.0版本无,5.3.1才增加的版本
package com.dd.oss.common.datasource.mybatis;
import com.github.pagehelper.Page;
import com.github.pagehelper.dialect.AbstractHelperDialect;
import org.apache.ibatis.cache.CacheKey;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.MappedStatement;
import java.util.Map;
/**
* @author bluezealot
*/
@SuppressWarnings("rawtypes")
public class AS400Dialect extends AbstractHelperDialect {
@Override
public Object processPageParameter(MappedStatement ms, Map<String, Object> paramMap,
Page page, BoundSql boundSql, CacheKey pageKey) {
paramMap.put(PAGEPARAMETER_FIRST, page.getStartRow());
paramMap.put(PAGEPARAMETER_SECOND, page.getPageSize());
pageKey.update(page.getStartRow());
pageKey.update(page.getPageSize());
handleParameter(boundSql, ms, long.class, int.class);
return paramMap;
}
@Override
public String getPageSql(String sql, Page page, CacheKey pageKey) {
return sql + " OFFSET ? ROWS FETCH FIRST ? ROWS ONLY";
}
}
4287

被折叠的 条评论
为什么被折叠?



