I do this:
PreparedStatement ps = conn.prepareStatement( "INSERT INTO mydbcall1.Call0 (date,direction,operator,abonentTel,duration,coast1,coast2,corpPhone)" + " VALUES(?, ?, ?, ?, ?, ?, ?, ?)"); try { ps.setDate(1, new java.sql.Date(call.date.getTime()) ); ps.setString(2, call.direction); ps.setString(3, call.operator); ps.setString(4, call.abonentTel); ps.setInt(5, call.duration); ps.setDouble(6, call.coast1); ps.setDouble(7, call.coast2); ps.setString(8, call.corpPhone); ps.executeUpdate(); // for INSERT, UPDATE & DELETE } finally { ps.close(); } The method for 3000 objects works more than 1.5 minutes.