Пример #1
0
 public void put(Iterable<Address> addresses) {
   try {
     List<String> addressValues = new ArrayList<String>(BATCH_SIZE);
     for (Address address : addresses) {
       addressValues.add(
           "("
               + cleanEscapeQuote(address.getId())
               + ", 'POINT ("
               + address.getLon()
               + " "
               + address.getLat()
               + ")', "
               + cleanEscapeQuote(address.getCountry())
               + ","
               + cleanEscapeQuote(address.getPostcode())
               + ","
               + cleanEscapeQuote(address.getA1())
               + ","
               + cleanEscapeQuote(address.getA2())
               + ","
               + cleanEscapeQuote(address.getA3())
               + ","
               + cleanEscapeQuote(address.getStreet())
               + ","
               + cleanEscapeQuote(address.getHouse())
               + ")");
       if (addressValues.size() >= BATCH_SIZE) {
         execute(
             "INSERT INTO address (id, point, country, postcode, a1, a2, a3, street, house) VALUES "
                 + StringUtils.join(addressValues, ", "));
         addressValues.clear();
       }
     }
     if (!addressValues.isEmpty()) {
       execute(
           "INSERT INTO address (id, point, country, postcode, a1, a2, a3, street, house) VALUES "
               + StringUtils.join(addressValues, ", "));
     }
   } catch (SQLException e) {
     throw new RuntimeException("Could not insert address into repository!", e);
   }
 }