ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yusuf" <Yu...@ekalife.co.id>
Subject RE: pager in ibatis
Date Thu, 27 Apr 2006 02:03:23 GMT
Hi,
I don't know if this is true,
but i think i've tried that solution before, and when i see the log
generated from the ResultSet, it actually query all the data, and then
selecting only the required record to show.. 

Yusuf.

-----Original Message-----
From: erlend.bjorge@aftenposten.no [mailto:erlend.bjorge@aftenposten.no]
Sent: Wednesday, April 26, 2006 2:22 PM
To: user-java@ibatis.apache.org
Subject: SV: pager in ibatis


Hi there!

<Yusuf wrote>
I think it's better off making the paging logic yourself in the
application, and then querying only the records you want to show, for
example in oracle you can use the rownum to fetch the data like

select * from 
(select rownum row, a.* from tabel1 as a)
where row between 21 and 30
</Yusuf wrote>

Why not use the ibatis the queryForList with "pageNumber and pageSize"
parameters like this:

sqlMap.queryForList("searchCompanies", searchText, ((pageNumber-1) *
pageSize), pageSize);

??

Then you only keep track of the pageNumber you are at and don't need to
make your query database specific... and you don't worry about the
caching, it cache the page you are at and only that as far as I have
understood it.

You also need the countSearchCompanies, with an exactly the same query
but with count in it ..... to find out how many pages it totally for
that search. So you can specifiy page 1, 2, 3, 4 in e.g. your webpage.

We use this strategy with success here:

	http://www.aguiden.no   (search for sykkel (bike),gives you two
pages)

Since queryForPaginatedList don't have a count (??), I don't think it
load the totally result set, only the page you are at, and have lazy
loading of the next page... smooth.

So far as I have understood it.... ???


Take care,
Erlend

-------------------------------------------


-----Opprinnelig melding-----
Fra: Yusuf [mailto:Yusuf@ekalife.co.id] 
Sendt: 13. april 2006 02:44
Til: user-java@ibatis.apache.org
Emne: RE: pager in ibatis

I think it's better off making the paging logic yourself in the
application, and then querying only the records you want to show, for
example in oracle you can use the rownum to fetch the data like

select * from 
(select rownum row, a.* from tabel1 as a)
where row between 21 and 30

because using the queryForPaginatedList (without caching) will always
fetch the entire result and then showing only the selected records, and
if the record count is high (like thousands..) then the performance will
be bad.

cmiiw,
Yusuf.

-----Original Message-----
From: John Chien [mailto:john.chien@ncmail.net]
Sent: Wednesday, April 12, 2006 11:27 PM
To: user-java@ibatis.apache.org
Subject: Re: pager in ibatis


L:arry:

Thank you for the information.
The queryForPaginatedList() will return a list, then I can check for the

existence of successive records by calling the isNextPageAvailable().
and go to that page by calling  gotoPage();

However, I can not keep this list in my server due to concurrecy reason.
Does that mean that I have to call the same method every time and  give 
it the page number for it to return me the records ?

I am doing the web development.
How can I make use of this returned list in JSP with Struct development
?

Should I keep the list in the session or request scope ?

Thanks,

John Chien

Larry Meadors wrote:

>queryForPaginatedList()
>
>Larry
>
>
>On 4/12/06, John Chien <john.chien@ncmail.net> wrote:
>  
>
>>Dear sir:
>>
>>I have a feature that requires me to return query result of a
selection
>>statment in certain amount of successive records every time.
>>This is just like a page.
>>
>>For example:
>>
>>SELECT  id, name
>>FROM employee;
>>
>>The selection result of this statement is a list.
>>However, I want to only get 30 records every time.
>>For the first call, I want to get the first 30 (1 - 30) records, for
>>thext call, I would like to get the next 30 (31 - 60) records.
>>
>>How can I do this in Ibatis ?
>>
>>Thanks,
>>
>>John Chien
>>
>>
>>
>>    
>>



Mime
View raw message