📄 pagesybase.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 + -