package com.allinpay.its.boss.framework.repository.mybatis.pagination.dialect;
import com.allinpay.its.boss.framework.repository.mybatis.pagination.DataBaseDialect;
/**
* 针对Oracle的物理分页查询实现方式
* @author YM
*
*/
public class OracleDialect extends DataBaseDialect {
/**
* 返回Oracle的分页查询语句
*/
@Override
public String getPageSelectSQL(String sql, int start, int limit) {
sql = sql.trim();
StringBuffer pagingSelect = new StringBuffer(sql.length() + 100);
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
pagingSelect.append(" ) row_ ) where rownum_ > ").append(start).append(" and rownum_ <= ").append(start + limit);
return pagingSelect.toString();
}
}