📄 pagehandler.java
字号:
/*
* Created on 2004-4-1
*
*/
package com.esimple.service.query.handler;
import java.util.*;
import com.esimple.framework.util.DataTypeConverter;
import com.esimple.service.query.config.*;
/**
* @author steven
*
*/
public class PageHandler implements SqlHandler {
public String toSqlString(QueryConfig query,String sql,String role,HashMap context)throws Exception{
Object objBegin = context.get("beginNum");
Object objLength= context.get("pageLength");;
if( objBegin == null || objLength == null ) return sql;
int begin =0;
int length;
try{
begin = DataTypeConverter.toInt( objBegin.toString() );
length = DataTypeConverter.toInt( objLength.toString() );
}catch(Exception e) {
length = -1;
}
if( length == -1 ) return sql;
//oracle 分页实现
StringBuffer pagingSelect = new StringBuffer();
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
pagingSelect.append(" ) row_ where rownum <=");
pagingSelect.append(begin+length);
pagingSelect.append( ") where rownum_ > ");
pagingSelect.append(begin);
sql = pagingSelect.toString();
return sql;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -