KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > polepos > teams > jdbc > drivers > melbourne > BulkWriteSingle


1 /*
2 This file is part of the PolePosition database benchmark
3 http://www.polepos.org
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public
16 License along with this program; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18 MA 02111-1307, USA. */

19
20 package org.polepos.teams.jdbc.drivers.melbourne;
21
22 import org.polepos.data.*;
23 import org.polepos.teams.jdbc.*;
24
25
26 /**
27  *
28  * @author Herkules
29  *
30  * Typical:
31  * 50000 objects: write 4703ms (0.09406ms/object), read 172ms (0.00344ms/object), delete 0ms (0.0ms/object)
32  */

33 public class BulkWriteSingle implements BulkWriteStrategy
34 {
35     private final JdbcCar mCar;
36     
37     /**
38      * Creates a new instance of BulkWriteSingle.
39      */

40     public BulkWriteSingle( JdbcCar car )
41     {
42         mCar = car;
43     }
44
45     /**
46      * Dump an array of pilots to the DB by writing one-by-one.
47      */

48     public void savePilots(String JavaDoc tablename, Pilot[] p, int count, int index )
49     {
50         for ( int i = 0; i < count; i++ )
51         {
52             savePilot( tablename, p[i], index++ );
53         }
54     }
55     
56     
57     /**
58      * Helper:
59      * Write a single pilot to the database.
60      */

61     private void savePilot( String JavaDoc tablename, Pilot p, int index )
62     {
63         StringBuffer JavaDoc stmt = new StringBuffer JavaDoc( "insert into ");
64         stmt.append(tablename);
65         stmt.append(" (id,Name,FrontName,Points,LicenseID) values (");
66         stmt.append( Integer.toString( index ) ).append( ", '" );
67         stmt.append( p.getName() ).append( "', '" );
68         stmt.append( p.getFirstName() ).append( "', " );
69         stmt.append( Integer.toString( p.getPoints() ) ).append( ", " );
70         stmt.append( Integer.toString( p.getLicenseID() ) ).append( ")" );
71
72         mCar.executeSQL( stmt.toString() );
73     }
74 }
75
Popular Tags