public class SQLTool {
public String getSql(String sql,int start)
{
boolean hasOffset=false;
if(start>0)
{
hasOffset=true;
}
sql=getLimitString(sql,hasOffset);
return sql;
}
public String getLimitString(String sql, boolean hasOffset) {
StringBuffer pagingSelect = new StringBuffer(sql.length() + 100);
if (hasOffset) {
pagingSelect.append(
"select * from ( select row_.*, rownum rownum_ from ( ");
} else {
pagingSelect.append("select * from ( ");
}
pagingSelect.append(sql);
if (hasOffset) {
pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");
} else {
pagingSelect.append(" ) where rownum <= ?");
}
return pagingSelect.toString();
}
}
public String getSql(String sql,int start)
{
boolean hasOffset=false;
if(start>0)
{
hasOffset=true;
}
sql=getLimitString(sql,hasOffset);
return sql;
}
public String getLimitString(String sql, boolean hasOffset) {
StringBuffer pagingSelect = new StringBuffer(sql.length() + 100);
if (hasOffset) {
pagingSelect.append(
"select * from ( select row_.*, rownum rownum_ from ( ");
} else {
pagingSelect.append("select * from ( ");
}
pagingSelect.append(sql);
if (hasOffset) {
pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");
} else {
pagingSelect.append(" ) where rownum <= ?");
}
return pagingSelect.toString();
}
}
解决方案 »
- 网站登录后如何在跳转的页面上显示当前用户名
- url传参是否有关键字?status=OK参数不能被struts识别到url访问的action
- 怎么把xml文件加压?
- [求助]在Lomboz中运行JSP,编译后的文件存放在哪里啊?
- 小弟初学JAVA,关于servlet有个小问题请教
- 如何在session销毁之前,取得session中的某个已设置的Attribute
- 关于filter的使用
- 超级菜鸟问题,jsp公共方法(.class文件)应该放到哪儿啊~
- 文件上传的问题?帮忙调试一下。thanks!
- 在线等待:运行 mySmartUpload.jsp时,为什么总是跳到realplay?
- 怎样把这种日期格式Mon Dec 05 16:18:27 CST 2005插入的数据库里
- welogic安装为windows服务运行后,怎么查看打印在控制台上的信息?
当参数start小于等于0时(一般应该是0),调用select * from ( # ) where rownum <= ?;
当参数start大于0时,调用select * from ( select row_.*, rownum rownum_ from ( # ) row_ where rownum <= ?) where rownum_ > ?,三重嵌套实现分页。
其中,#为select * from table等语句
最后生成的sql语句,估计是供PreparedStatement调用的
仅用于oracle
buffoon(悠云)果然是高手