/**
* 数量统计
* @param sql
* @return
*/
public int getListSize(String sql){
sql = "SELECT COUNT(*) FROM ("+sql+") A";
int count = this.queryForInt(sql);
return count;
}
/**
* oracle 分页
* @param sql
* @param pageNum
* @param pageCount
* @return
* @throws DataAccessException
*/
public List queryForListPage(String sql,int pageNum,int pageCount) throws DataAccessException {
int startNum = (pageNum-1) * pageCount + 1;
int endNum = startNum+pageCount-1;
sql = "SELECT * "+
" FROM (SELECT A.*, ROW_NUMBER() OVER (ORDER BY ID) R FROM (" + sql + ") A " +
" WHERE ROW_NUMBER() OVER (ORDER BY ID) <= "+endNum+") B" +
" WHERE R >= "+startNum;
List list = this.queryForList(sql);
return list;
}
/**
* sql server 分页
* @param sql
* @param pageN
* @param pageC
* @param nameC
* @return
* @throws DataAccessException
*/
public List queryForListPage(String sql, int pageN, int pageC, String nameC) throws DataAccessException {
int sNum = (pageN-1) * pageC + 1;
int eNum = sNum + pageC - 1;
sql = "SELECT A.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY " + nameC + ") AS R, V.* FROM ("
+ sql + ") V) A WHERE A.R BETWEEN " + sNum + " AND " + eNum + " ";
List list = this.queryForList(sql);
return list;
}
/**
* sql server 分页 按时间倒序排序
* @param sql
* @param pageN
* @param pageC
* @param nameC
* @return
* @throws DataAccessException
*/
public List queryForListPageNotice(String sql, int pageN, int pageC, String nameC) throws DataAccessException {
int sNum = (pageN-1) * pageC + 1;
int eNum = sNum + pageC - 1;
sql = "SELECT A.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY " + nameC + ") AS R, V.* FROM ("
+ sql + ") V) A WHERE A.R BETWEEN " + sNum + " AND " + eNum + " ORDER BY CREATE_DATE DESC ";
List list = this.queryForList(sql);
return list;
}
分享到:
相关推荐
mybatis中,sqlserver分页
pageSql.sql 是数据库语句 整个执行为:通过传入pageNo(页码),pageSize(每页显示条数)查库,得到一个list数据,并且封装到一个Page对象中,page对象同时还需封装整个所需的所有数据的条数(即数据库中count(*)返回的...
公司在项目开发中使用的分页查询语句,分别有针对SqlServer,Mysql,Orcle与PostgreSQL的查询语句
其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...
本技术专题主要介绍如何使用Oracle SQL Developer和其他开发工具,内容包括使用Oracle Database Home Page、在Oracle中使用SQL*Plus、如何用SQL Developer来操作Oracle数据库以及表列定义等等。
Faroult's approach takes a page from Sun Tzu's classic treatise by viewing database design as a military campaign. You need knowledge, skills, and talent. Talent can't be taught, but every strategist...
java 编写的sqlserver快速分页通用类,处理sqlserver的sql语句,从中间分开记录集,分页速度有了很大的提高。使用方法说明中有详细描述
Previous Page Next Page 数据库表 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录(行)。 下面的例子是一个名为 "Persons" 的表: Id LastName ...
一些看似简单的要求,例如获取“月初”的DATETIME可能会非常棘手。
有关 SQL Power Architect 的社区版或企业版的更多信息,请访问 http://www.sqlpower.ca/page/architect SQL Power Architect 1.0.7 发布!SQL Power Architect 1.0.7 已经发布!这主要是一个错误修复版本。值得注意...
Head First SQL 中文版 Page 79-83 DOCHead First SQL 中文版 Page 79-83 DOC
SQL Server存储数据的基本单元是Page,每一个Page的大小是8KB,数据文件是由Page构成的。在同一个数据库上,每一个Page都有一个唯一的资源标识,标识符由三部分组成:db_id,file_id,page_id,例如,15:1:8733,15是...
SQL Server 2005全文检索技术在网站上的应用实录 http://tech.ddvip.com 2008年01月21日 社区交流 Excel服务器-用Excel做管理系统 关键字: DataGuard checkpoint 动态查询 synonyms 卸载SQL 2005 SQL Server群集 ...
fragmented, excessive page splitting occurs, and backups are not properly configured. All these issues that occur on the back-end SQL Server instance frustrate users, and organizations don’t ...
本系统中包括后台菜单和权限管理模块,基础数据实现word模板上传,业务菜单实现通过填写模板保存文件和数据以及数据查询和导出。
这篇PPT介绍了移轉 DTS 到 SQL Server 2005 Integration Services。内容为繁体。
Page-Level Locking . Locking Hints and Trace Flags . Summary 15. The Query Processor [加入我的離線書架] . The SQL Manager . Compilation and Optimization . The Procedure Cache . Using Stored ...
java中对sql分页PageBean
第十章 SQL基础 -------------------------------------------------------------------------------- 内置ASP对象 .Application对象 .ObjectContext对象 .Request对象 .Response对象 .Server对象 ....
1、本版分页只针对Sql Server数据库,采用top n分页方式,节约资源。 2、支持GridView、DataGrid、DataList等数据控件。 3、本分页已应用于数据量百万级的项目中。 4、使用简单,并包含多种样式布局 一、使用方法:...