SQL code:
select * from (select rownum rownum_,a.* from (select t.name,t.id from table_name t
order by t.name)a where rownum<=20) where rownum_>=10;
select * from (select rownum rownum_,a.* from (select t.name,t.id from table_name t
order by t.name)a) where rownum_<=20 and rownum_>=10
²»ÖªµÀÕâÁ½¸öÓï¾äÓÐʲô²»Í¬¡£ÎªÊ²Ã´HibernateÒªÓúóÃæÒ»¸öÓï¾ä£¬Ð§ÂʲîÄÇô¶à¡£
²»ÖªµÀ´ó¼Ò¶Ô´ó¼Ò´óÊý¾ÝÁ¿·ÖÒ³ÓÐʲô¼ûÒâ¡£
×Ô¼º¶¥¡£¡£¡£
ÒòÎªÇ°ÃæÄǸöµÄ¿ì£¬Êǽ¨Á¢ÔÚËüµÄ²éѯ½á¹û²»ÊÇÄãÒªµÄ·ÖÒ³µÄ»ù´¡ÉÏ£¬ËüÊÇ´íµÄ¡£ËüÔÚÄÚ²ãֻȡÁË20ÌõÊý¾Ý½øÐÐÅÅÐò£¬È»ºóÍâ²ãÔÙ¹ýÂ˵ô10Ìõ£¬Äã²éµÄÓÀÔ¶ÊÇǰ20Ìõ£¬²»ÊÇÈ«±íÊý¾Ý¡£
´óÊý¾ÝÁ¿·ÖÒ³»¹ÊÇÓÃrow_number()·ÖÎöº¯Êý°É£¬²»¹ý²»ÖªµÀhibÖ§³Ö²»£¿²Î¿¼Óï¾ä£º
select t.series_id,
t.series_name,
t.author,
t.publisher_id,
t.descriptions
from (
select row_number() over(order by init_letter,series_name) rn,
series_id,
series_name,
author,
publisher_id,
descriptions
from dat_ct_series
) t
where t.rn > in_page_size * (in_start_page-1) --in_page_size Ò³ÃæÌõÊý¡£in_start_page¿ªÊ¼Ò³Êý£¬´Ó1¿ªÊ¼¡£
and t.rn <= in_page_size * in_start_page;
Ç°ÃæµÄ
ЧÂʸß
ÄãÕâ¸ö˵µÃÎÒ²»Ã÷°×ÄØ¡£¡£ÇëÎÊÓбȽÏÏêϸµÄÀý×ÓÂ𡣡£
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......