使用rownum对oracle分页
2015-09-30 10:50
721 查看
以Student表为例进行分页
纯sql分页
SELECT * FROM ( SELECT ROWNUM RN,A.* FROM ( SELECT * FROM STUDENT ORDER BY SNAME ASC )A WHERE ROWNUM <= 20 ) WHERE RN >=11;
mybatis分页
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" > <sqlMap namespace="student"> <typeAlias alias="Student" type="com.bobo.code.model.Student" /> <select id="select" resultClass="Student"> SELECT * FROM ( SELECT A.*,ROWNUM RN FROM (SELECT * FROM STUDENT) A WHERE <![CDATA[ ROWNUM <= #maxRowNum#]]> ) WHERE <![CDATA[RN >= #minRowNum#]]> </select> <select id="count" resultClass="java.lang.Integer"> SELECT count(*) FROM STUDENT </select> </sqlMap>
queryMap.put("minRowNum", (pageNumber - 1)*Pager.DEFAULT_PAGE_SIZE +1);//oracle rownum起 queryMap.put("maxRowNum", pageNumber * Pager.DEFAULT_PAGE_SIZE );//oracle rownum止
开发过程异常
无法转换为内部表示
当Student的属性id 为Integer,和数据库中的字段ID为VARCHAR2 导致不对应会取不出数据,报错(无法转换为内部表示):如果sql语句错误,比如多了一个逗号之类的,会报错(ORA-00936):
相关文章推荐
- oracle----sqlldr用法
- oracle sql函数以及用法
- Switching from Redhat Linux to Oracle Linux in about 5,000 easy steps
- Linux下 oracle 数据库 定时备份
- Oracle之sql追踪
- Oracle中insert into select和select into的用法(异常0RA-00905:missing keyword的解决)
- Java Jdbc方式连接Oracle数据库
- oracle查询每个表的占用空间
- oracle数据库查询常用语句
- Oracle表空间操作
- oracle-数据泵备份还原
- 玩转oracle(3)_韩顺平
- Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习 _ 创建多维钻取分析
- oracle 的使用 聚合函数的 max和min 使用
- Please set ORACLE_UNQNAME to database unique name.的解决方案
- oracle分区表和分区索引概述
- ORACLE索引介绍和使用
- Oracle listener lsnrctl
- oracle浅析导致数据库性能问题的常见原因
- 笔记:Oracle SQL 高级编程 第1章 SQL 核心