⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagehandler.java

📁 这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用struts,hebinate,xml等技术,有丰富的tag,role,navigation,session,dictio
💻 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 + -