Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Batching objects in a list for DB updates

Posted on 2004-10-16
5
Medium Priority
?
176 Views
Last Modified: 2010-03-31
Hi

I wonder if an expert can help.

I have Java List  of stock objects Stock [] listOfStock.

The nuber of stocks in the list is variable on each run of the program.

I'm going to have a property set up batch_size that will control the number of
stocks I pass for DB/insert/update  as I loop through the list.


I wantto say have a batch size of 500.  So if there are 2000 stock items, I want
to loop through and submit 500 first , then the next 500 and so on until
I've been through the list.

The nuber of Stock objects in Stock[] will be variable.

I'm going to have to remember the index where the batch of 500 ended so I can get the
next 500 (or less dependig on list size).

Can you please help with the Java for this?
0
Comment
Question by:azsat
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
5 Comments
 
LVL 9

Expert Comment

by:Venci75
ID: 12326825
batchSize = 500;
PreparedStatement ps = connection.prepareStatement();

for (int i = 0; i < listOfStock.length; i++) {
  // ps.set...
  if (i % batchSize == 0) {
    ps.executeBatch();
  } else {
    ps.addBatch();
  }
}
0
 

Author Comment

by:azsat
ID: 12326891
Hi,  

Thanks, but I'm not using JDBC directly, but using the Spring/Hibernate framework.

As such I will not be making direct JDBC calls.  Without going into the mechanics of using the framework,  let's just say I want to submit say list of 500 at a time from my original list
to an UPDATE/INSERT method in a while loop.


While not end of Stock  list

   read 500 from list into sub-list for batching
   pass sub-list to UPDATE/INSERT Method which will make the nesessary calls (hibernate)
   for the 500 batch. Each stock item will have a property saying if it is an insert or update.

end while
   




0
 
LVL 9

Expert Comment

by:Venci75
ID: 12430892
no objection
0
 

Accepted Solution

by:
ee_ai_construct earned 0 total points
ID: 12464649
Question answered by asker or dialog valuable.
Closed, 125 points refunded.
ee_ai_construct (replacement part #xm34)
Community Support Admin
0

Featured Post

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question