天天看點

ibatis mysql分頁查詢語句_Ibatis動态sql實作MySql SqlServer Oracle分頁

select * from user where...order by... limit 10,25

根據以上的語句我們可以對ibator生成後的代碼進行修改。

第一修改User_sqlMap.xml

修改前

parameterClass="com.demo.ibatis.beans.UserExample">

select ID, LOGIN_NAME, PASSWORD

from user

order by $orderByClause$

修改後

parameterClass="com.demo.ibatis.beans.UserExample">

select ID, LOGIN_NAME, PASSWORD

from user

order by $orderByClause$

[b]

limit

$limitClauseStart$,$limitClauseCount$

[/b]

重要的是黑色的字型是添加到原來的xml中的。接下來修改UserExample.java

在該類中添加兩個字段和相應的getter/setter方法

protected String limitClauseStart;//起始參數

protected String limitClauseCount;//數量參數

接下來就可以通過Dao調用selectByExample()方法測試,好的以上就是MySql的分頁。SqlServer的分頁比較難了,因為 SqlServer中沒有limit的關鍵字。

看看SqlServer的分頁語句,那當然 SqlServer人分布方法有很多種。這裡我采用其中的一種。

語句如下:

SELECT TOP 頁大小 *

FROM TestTable

WHERE (ID >=

(select max(id) from (SELECT TOP 頁大小*頁數 id

FROM 表

ORDER BY id) as t))

ORDER BY ID

接下來和上面的MySql一樣也進行修改

修改xml

parameterClass="com.demo.ibatis.beans.UserExample">

[b]

SELETE TOP $limitClauseCount$ * FROM user where (ID NOT IN

(SELECT TOP $limitClauseStart$ ID

[/b]

SELETE *

FROM user

from user

order by $orderByClause$

[b]

))order by $orderByClause$

[/b]

接下來是ORacle的,和上面都是差不多的這裡不多說。

文法:

select* from(select rownum tid,user.* FROM (select * from user where id>1 order by ID desc)user where where rownum<35) where tid>10;

修改Xml,

parameterClass="com.demo.ibatis.beans.UserExample">

[b]

select* from(select rownum tid,user.* FROM (

[/b]

select * from user

order by $orderByClause$

[b]

$limitClauseStart$;]]>

[/b]

好的以上就是這次的代碼,如果有錯的請幫我指點一下...

5

分享到:

ibatis mysql分頁查詢語句_Ibatis動态sql實作MySql SqlServer Oracle分頁
ibatis mysql分頁查詢語句_Ibatis動态sql實作MySql SqlServer Oracle分頁

2010-01-08 23:41

浏覽 7934

評論

5 樓

xxy_tidy_sky

2011-08-03

where條件有問題的,隻在not in嵌套裡面有where ,外面沒有where條件怎麼行呢

4 樓

領悟人生

2011-06-16

zsj614 寫道

你的sqlserver的分頁語句有問題,where 裡的條件怎麼隻有裡面的那個有。分出來肯定有問題的

呵呵,這個不會有問題。這個分頁語句是我一直使用的。

如果有什麼問題請指教一下。

3 樓

zsj614

2011-04-29

你的sqlserver的分頁語句有問題,where 裡的條件怎麼隻有裡面的那個有。分出來肯定有問題的

2 樓

領悟人生

2010-10-01

當當貓 寫道

不錯好文章。不知道MSSQL那個語句的性能怎麼樣?

你說的是Mysql的分頁語句嗎?

1 樓

當當貓

2010-09-21

不錯好文章。不知道MSSQL那個語句的性能怎麼樣?