?
Solved

Batching objects in a list for DB updates

Posted on 2004-10-16
5
Medium Priority
?
180 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
  • 2
4 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

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

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

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…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This video teaches viewers about errors in exception handling.
Suggested Courses
Course of the Month5 days, 22 hours left to enroll

589 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