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

📄 pagesybase.java

📁 适合各种数据库的分页程序
💻 JAVA
字号:
package com.ztes.commons.dbo.pagination.impl;

import com.ztes.commons.dbo.pagination.AbstractPage;
import com.ztes.commons.dbo.pagination.Page;

/**
 * Sybase的分页,借助 set rowcount,只有第一页的数据能通过SQL语句直接获取。
 * 不过据知情人士透露,Sybase12.5以后就支持top了,如果是这样,
 * 那么针对Sybase12.5以后的分页可以使用{@link com.ztes.commons.dbo.pagination.impl.PagedByTop}。
 * 
 * <p>
 * 对于第一页数据的分页,
 * 如查询语句为:select userId,userName from users order by userId。
 * 针对这条查询sql构造的第一页SQL语句如下:
 * set rowcount 10;
 * select userId,userName from users  order by userId;
 * set rowcount 0;
 * </p>
 * 如果需要手动指定采用JDBC功能分页,
 * 请调用{@link com.ztes.commons.dbo.pagination.Page#setUseCommonPage(boolean)}方法,设置参数为true。
 * 默认情况下都是使用SQL语句分页。
 * 
 * @author tiannet(曾次清)
 */ 
public class PageSybase extends AbstractPage implements Page  {

	/**
	 * 返回分页sql语句。
	 * 型如:
	 * set rowcount 10;
	 * select userId,userName from users where userId > 10 order by userId;
	 * set rowcount 0;
	 * @param start 获取记录的开始位置,从零开始计。
	 * @param size 获取记录的大小。
	 * @return 分页sql语句。
	 */
	public  String getPageSql(int start, int size) {
		//如果是第一页
		if( start <= 0 ) {
			return "set rowcount " + size + " " + super.getQuerySql() + " set rowcount 0";
		}
		//除第一页外都不能使用SQL语句直接获取数据
		return null;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -