package com.shtao.ext.ibatis.common.util;
public class MySqlPaginator implements Paginator {
@Override
public String getPaginatedListSql(String sql, int pageNo, int pageSize) {
if (pageNo <= 0 || pageSize <= 0)
return sql;
int start = pageSize * (pageNo - 1);
/**
* mySQL的分页
*/
return (sql) + (" limit " + start + ", " + pageSize + " ");
}
@Override
public String getPaginatedCountSql(String sql) {
int fromIndex = sql.toLowerCase().indexOf("from");
StringBuffer countStr = new StringBuffer("select count(*) ");
int sql_orderby = sql.toLowerCase().indexOf("order by");
if (sql_orderby > 0) {
countStr.append(sql.substring(fromIndex, sql_orderby));
} else {
countStr.append(sql.substring(fromIndex));
}
String tempStr = countStr.toString();
return tempStr;
}
}