ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomáš Procházka <t.procha...@centrum.cz>
Subject Re: read large result set in Ibatis3
Date Thu, 18 Feb 2010 15:16:15 GMT

Hi.

I investigated this more detailed and ResultHandler is not what I neeed :-( I need keep jdbc
statement open and get new item when I need. ResultHandler read all item and for every item
call handleResult() I can handle when next item will be read.

Ideal will be possibility to add method to mapper will return object on which I can call something
like getNext(), hasNext() and close(). Statement will be open and Ibatis will be read and
convert to object only one Object for every getNext call.

It something like this possible in actual version?

   

-------------------------- Original message --------------------------
       From: Clinton Begin <clinton.begin@gmail.com>
    Subject: read large result set in Ibatis3
       Date: Sunday, January 17, 2010, 10:54:34 PM
Attachments: Zpráva.html
      msgid:16178eb11001171354i56ee636ehdef2384f6919403a@mail.gmail.com

C> That's correct.  At this time, you have to call it through sqlSession.

C> I don't think it would be too hard to add mapper support.  If it's
C> really important for you, then file a Jira ticket and I'll see what I can do.

C> Clinton

C> 2010/1/17 Tomáš Procházka <t.prochazka@centrum.cz>

C> Yes.

C> And I found ResultHandler only in this method:

C> void select
C> (String statement, Object parameter, RowBounds rowBounds,
C> ResultHandler handler)

C> which is directly in SqlSession. No possibilities to use ResultHandler in mapper class.

C> ______________________________________________________________
>> Od: "Clinton Begin" <clinton.begin@gmail.com>
>> Komu: user-java@ibatis.apache.org
>> Datum: 17.01.2010 15:40

>> Předmět: Re: read large result set in Ibatis3
>>
>>Have you read the documentation?
>>
>>2010/1/17 Tomáš Procházka <t.prochazka@centrum.cz>
>>
>>>
>>> Thanks you for reply.
>>> I need read data only from one table (queue), so I have no accociation or
>>> collection mapping.
>>>
>>> But what I must do?
>>>
>>> Is this sufficient:
>>>
>>> @Select({"SELECT * FROM send)
>>> List<Send> getAllItems();
>>> ?
>>>
>>> Or I must do anything else, like use some special class instead of List?
>>>
>>> ______________________________________________________________
>>> > Od: "Clinton Begin" <clinton.begin@gmail.com>
>>> > Komu: user-java@ibatis.apache.org
>>> > Datum: 17.01.2010 01:11
>>> > Předmět: Re: read large result set in Ibatis3
>>> >
>>> >Yes, you can use ResultHAndler in iBATIS 3.  The key to know is that the
>>> >large result set will be fine if the query is as simple as you've
>>> >presented.  However, if you use associations or collections mappings, then
>>> >you could run into memory issues.
>>> >
>>> >Cheers,
>>> >Clinton
>>> >
>>> >2010/1/16 Tomáš Procházka <t.prochazka@centrum.cz>
>>> >
>>> >>
>>> >> Hi.
>>> >>
>>> >> I need read large result set from DB (like 300 000 rows).
>>> >>
>>> >> It's possible use this:
>>> >>
>>> >> @Select({"SELECT * FROM send)
>>> >> List<Send> getAllItems();
>>> >>
>>> >> ?
>>> >>
>>> >> but instead of read all rows to List use server cursor and read only
>>> items
>>> >> which will be accessed by Iterator.
>>> >>
>>> >> I found some old article about this problem like:
>>> >>
>>> >>
>>> >>
>>> http://stackoverflow.com/questions/1344362/java-retrieving-large-amounts-of-data-from-a-db-using-ibatis
>>> >>
>>> >> But I don't know, that this is for iBatis 3.0.
>>> >>
>>> >> Exist same ResultHandler implementation that can do this?
>>> >>
>>> >>
>>> >> --
>>> >>  Tomáš Procházka
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> >> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>> >>
>>> >>
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>
>>>
>>
>>

C> ---------------------------------------------------------------------
C> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
C> For additional commands, e-mail: user-java-help@ibatis.apache.org


----------------------- End of original message ----------------------

-- 
 Tomas Prochazka


   


--------------------------- Původní zpráva ---------------------------
 Odesilatel: Clinton Begin <clinton.begin@gmail.com>
    Předmět: read large result set in Ibatis3
      Datum: 17. ledna 2010, 14:54:34 (GMT -0700)
    Přílohy: Zpráva.html

C> That's correct.  At this time, you have to call it through sqlSession.

C> I don't think it would be too hard to add mapper support.  If it's
C> really important for you, then file a Jira ticket and I'll see what I can do.

C> Clinton

C> 2010/1/17 Tomáš Procházka <t.prochazka@centrum.cz>

C> Yes.

C> And I found ResultHandler only in this method:

C> void select
C> (String statement, Object parameter, RowBounds rowBounds,
C> ResultHandler handler)

C> which is directly in SqlSession. No possibilities to use ResultHandler in mapper class.

C> ______________________________________________________________
>> Od: "Clinton Begin" <clinton.begin@gmail.com>
>> Komu: user-java@ibatis.apache.org
>> Datum: 17.01.2010 15:40

>> Předmět: Re: read large result set in Ibatis3

>>Have you read the documentation?

>>2010/1/17 Tomáš Procházka <t.prochazka@centrum.cz>


>>> Thanks you for reply.
>>> I need read data only from one table (queue), so I have no accociation or
>>> collection mapping.

>>> But what I must do?

>>> Is this sufficient:

>>> @Select({"SELECT * FROM send)
>>> List<Send> getAllItems();
>>> ?

>>> Or I must do anything else, like use some special class instead of List?

>>> ______________________________________________________________
>>> > Od: "Clinton Begin" <clinton.begin@gmail.com>
>>> > Komu: user-java@ibatis.apache.org
>>> > Datum: 17.01.2010 01:11
>>> > Předmět: Re: read large result set in Ibatis3
>>> >
>>> >Yes, you can use ResultHAndler in iBATIS 3.  The key to know is that the
>>> >large result set will be fine if the query is as simple as you've
>>> >presented.  However, if you use associations or collections mappings, then
>>> >you could run into memory issues.
>>> >
>>> >Cheers,
>>> >Clinton
>>> >
>>> >2010/1/16 Tomáš Procházka <t.prochazka@centrum.cz>
>>> >
>>> >>
>>> >> Hi.
>>> >>
>>> >> I need read large result set from DB (like 300 000 rows).
>>> >>
>>> >> It's possible use this:
>>> >>
>>> >> @Select({"SELECT * FROM send)
>>> >> List<Send> getAllItems();
>>> >>
>>> >> ?
>>> >>
>>> >> but instead of read all rows to List use server cursor and read only
>>> items
>>> >> which will be accessed by Iterator.
>>> >>
>>> >> I found some old article about this problem like:
>>> >>
>>> >>
>>> >>
>>> http://stackoverflow.com/questions/1344362/java-retrieving-large-amounts-of-data-from-a-db-using-ibatis
>>> >>
>>> >> But I don't know, that this is for iBatis 3.0.
>>> >>
>>> >> Exist same ResultHandler implementation that can do this?
>>> >>
>>> >>
>>> >> --
>>> >>  Tomáš Procházka
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> >> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>> >>
>>> >>
>>> >
>>> >

>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org





C> ---------------------------------------------------------------------
C> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
C> For additional commands, e-mail: user-java-help@ibatis.apache.org


------------------------ Konec původní zprávy ------------------------

-- 
 Tomáš Procházka

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message