Example usage for org.springframework.jdbc.core BatchPreparedStatementSetter BatchPreparedStatementSetter

List of usage examples for org.springframework.jdbc.core BatchPreparedStatementSetter BatchPreparedStatementSetter

Introduction

In this page you can find the example usage for org.springframework.jdbc.core BatchPreparedStatementSetter BatchPreparedStatementSetter.

Prototype

BatchPreparedStatementSetter

Source Link

Usage

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

@Override
public void insertVerblijfsobjecten(final List<Verblijfsobject> verblijfsobjecten) throws DAOException {
    try {/*from   w  ww .ja  va  2 s .  com*/
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                jdbcTemplate.batchUpdate("insert into bag_verblijfsobject (" + "bag_verblijfsobject_id,"
                        + "aanduiding_record_inactief," + "aanduiding_record_correctie," + "officieel,"
                        + "verblijfsobject_geometrie," + "oppervlakte_verblijfsobject,"
                        + "verblijfsobject_status," + "begindatum_tijdvak_geldigheid,"
                        + "einddatum_tijdvak_geldigheid," + "in_onderzoek," + "bron_documentdatum,"
                        + "bron_documentnummer," + "bag_nummeraanduiding_id"
                        + ") values (?,?,?,?,?,?,?,?,?,?,?,?,?)", new BatchPreparedStatementSetter() {
                            @Override
                            public void setValues(PreparedStatement ps, int i) throws SQLException {
                                ps.setLong(1, verblijfsobjecten.get(i).getIdentificatie());
                                ps.setInt(2, verblijfsobjecten.get(i).getAanduidingRecordInactief().ordinal());
                                ps.setLong(3, verblijfsobjecten.get(i).getAanduidingRecordCorrectie());
                                ps.setInt(4, verblijfsobjecten.get(i).getOfficieel().ordinal());
                                ps.setString(5, verblijfsobjecten.get(i).getVerblijfsobjectGeometrie());
                                ps.setInt(6, verblijfsobjecten.get(i).getOppervlakteVerblijfsobject());
                                ps.setInt(7, verblijfsobjecten.get(i).getVerblijfsobjectStatus().ordinal());
                                ps.setTimestamp(8, new Timestamp(
                                        verblijfsobjecten.get(i).getBegindatumTijdvakGeldigheid().getTime()));
                                if (verblijfsobjecten.get(i).getEinddatumTijdvakGeldigheid() == null)
                                    ps.setNull(9, Types.TIMESTAMP);
                                else
                                    ps.setTimestamp(9, new Timestamp(verblijfsobjecten.get(i)
                                            .getEinddatumTijdvakGeldigheid().getTime()));
                                ps.setInt(10, verblijfsobjecten.get(i).getInOnderzoek().ordinal());
                                ps.setDate(11, new Date(verblijfsobjecten.get(i).getDocumentdatum().getTime()));
                                ps.setString(12, verblijfsobjecten.get(i).getDocumentnummer());
                                ps.setLong(13, verblijfsobjecten.get(i).getHoofdAdres());
                            }

                            @Override
                            public int getBatchSize() {
                                return verblijfsobjecten.size();
                            }
                        });
                insertGebruikersdoelen(verblijfsobjecten);
                insertNevenadressen(TypeAdresseerbaarObject.VERBLIJFSOBJECT, verblijfsobjecten);
                insertGerelateerdePanden(verblijfsobjecten);
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error inserting verblijfsobjecten", e);
    }
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

@Override
public void insertLigplaatsen(final List<Ligplaats> ligplaatsen) throws DAOException {
    try {// w  w w  .ja v  a  2  s.c  o m
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                jdbcTemplate.batchUpdate("insert into bag_ligplaats (" + "bag_ligplaats_id,"
                        + "aanduiding_record_inactief," + "aanduiding_record_correctie," + "officieel,"
                        + "ligplaats_status," + "ligplaats_geometrie," + "begindatum_tijdvak_geldigheid,"
                        + "einddatum_tijdvak_geldigheid," + "in_onderzoek," + "bron_documentdatum,"
                        + "bron_documentnummer," + "bag_nummeraanduiding_id"
                        + ") values (?,?,?,?,?,?,?,?,?,?,?,?)", new BatchPreparedStatementSetter() {
                            @Override
                            public void setValues(PreparedStatement ps, int i) throws SQLException {
                                ps.setLong(1, ligplaatsen.get(i).getIdentificatie());
                                ps.setInt(2, ligplaatsen.get(i).getAanduidingRecordInactief().ordinal());
                                ps.setLong(3, ligplaatsen.get(i).getAanduidingRecordCorrectie());
                                ps.setInt(4, ligplaatsen.get(i).getOfficieel().ordinal());
                                ps.setInt(5, ligplaatsen.get(i).getLigplaatsStatus().ordinal());
                                ps.setString(6, ligplaatsen.get(i).getLigplaatsGeometrie());
                                ps.setTimestamp(7, new Timestamp(
                                        ligplaatsen.get(i).getBegindatumTijdvakGeldigheid().getTime()));
                                if (ligplaatsen.get(i).getEinddatumTijdvakGeldigheid() == null)
                                    ps.setNull(8, Types.TIMESTAMP);
                                else
                                    ps.setTimestamp(8, new Timestamp(
                                            ligplaatsen.get(i).getEinddatumTijdvakGeldigheid().getTime()));
                                ps.setInt(9, ligplaatsen.get(i).getInOnderzoek().ordinal());
                                ps.setDate(10, new Date(ligplaatsen.get(i).getDocumentdatum().getTime()));
                                ps.setString(11, ligplaatsen.get(i).getDocumentnummer());
                                ps.setLong(12, ligplaatsen.get(i).getHoofdAdres());
                            }

                            @Override
                            public int getBatchSize() {
                                return ligplaatsen.size();
                            }
                        });
                insertNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, ligplaatsen);
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error inserting ligplaatsen", e);
    }
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

@Override
public void insertStandplaatsen(final List<Standplaats> standplaatsen) throws DAOException {
    try {//from w ww  .  j  ava 2 s  . c o m
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                jdbcTemplate.batchUpdate("insert into bag_standplaats (" + "bag_standplaats_id,"
                        + "aanduiding_record_inactief," + "aanduiding_record_correctie," + "officieel,"
                        + "standplaats_status," + "standplaats_geometrie," + "begindatum_tijdvak_geldigheid,"
                        + "einddatum_tijdvak_geldigheid," + "in_onderzoek," + "bron_documentdatum,"
                        + "bron_documentnummer," + "bag_nummeraanduiding_id"
                        + ") values (?,?,?,?,?,?,?,?,?,?,?,?)", new BatchPreparedStatementSetter() {
                            @Override
                            public void setValues(PreparedStatement ps, int i) throws SQLException {
                                ps.setLong(1, standplaatsen.get(i).getIdentificatie());
                                ps.setInt(2, standplaatsen.get(i).getAanduidingRecordInactief().ordinal());
                                ps.setLong(3, standplaatsen.get(i).getAanduidingRecordCorrectie());
                                ps.setInt(4, standplaatsen.get(i).getOfficieel().ordinal());
                                ps.setInt(5, standplaatsen.get(i).getStandplaatsStatus().ordinal());
                                ps.setString(6, standplaatsen.get(i).getStandplaatsGeometrie());
                                ps.setTimestamp(7, new Timestamp(
                                        standplaatsen.get(i).getBegindatumTijdvakGeldigheid().getTime()));
                                if (standplaatsen.get(i).getEinddatumTijdvakGeldigheid() == null)
                                    ps.setNull(8, Types.TIMESTAMP);
                                else
                                    ps.setTimestamp(8, new Timestamp(
                                            standplaatsen.get(i).getEinddatumTijdvakGeldigheid().getTime()));
                                ps.setInt(9, standplaatsen.get(i).getInOnderzoek().ordinal());
                                ps.setDate(10, new Date(standplaatsen.get(i).getDocumentdatum().getTime()));
                                ps.setString(11, standplaatsen.get(i).getDocumentnummer());
                                ps.setLong(12, standplaatsen.get(i).getHoofdAdres());
                            }

                            @Override
                            public int getBatchSize() {
                                return standplaatsen.size();
                            }
                        });
                insertNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, standplaatsen);
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error inserting standplaatsen", e);
    }
}

From source file:dao.DatasetsDAO.java

public static void updateDatasetOwnerDatabase(int datasetId, String datasetUrn, List<DatasetOwner> owners) {
    getJdbcTemplate().batchUpdate(UPDATE_DATASET_CONFIRMED_OWNERS, new BatchPreparedStatementSetter() {
        @Override//  ww w. j  a v a2s.c o  m
        public void setValues(PreparedStatement ps, int i) throws SQLException {
            DatasetOwner owner = owners.get(i);
            ps.setInt(1, datasetId);
            ps.setString(2, owner.userName);
            ps.setInt(3, owner.isGroup ? 301 : 300);
            ps.setString(4, owner.namespace);
            ps.setString(5, owner.type);
            ps.setString(6, owner.isGroup ? "Y" : "N");
            ps.setInt(7, owner.sortId);
            ps.setString(8, datasetUrn);
            ps.setString(9, owner.subType);
            ps.setString(10, owner.confirmedBy);
            if (StringUtils.isBlank(owner.confirmedBy)) {
                ps.setLong(11, 0L);
            } else {
                ps.setLong(11, Instant.now().getEpochSecond());
            }
            ps.setString(12, owner.type);
            ps.setString(13, owner.isGroup ? "Y" : "N");
            ps.setInt(14, owner.sortId);
            ps.setString(15, owner.subType);
            ps.setString(16, owner.confirmedBy);
            if (StringUtils.isBlank(owner.confirmedBy)) {
                ps.setLong(17, 0L);
            } else {
                ps.setLong(17, Instant.now().getEpochSecond());
            }

        }

        @Override
        public int getBatchSize() {
            return owners.size();
        }
    });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void insertGebruikersdoelen(final Verblijfsobject verblijfsobject) {
    jdbcTemplate.batchUpdate(//from   w  ww. j a  va  2s  .  co m
            "insert into bag_gebruiksdoel (" + "bag_verblijfsobject_id," + "aanduiding_record_correctie,"
                    + "begindatum_tijdvak_geldigheid," + "gebruiksdoel" + ") values (?,?,?,?)",
            new BatchPreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, verblijfsobject.getIdentificatie());
                    ps.setLong(2, verblijfsobject.getAanduidingRecordCorrectie());
                    ps.setTimestamp(3,
                            new Timestamp(verblijfsobject.getBegindatumTijdvakGeldigheid().getTime()));
                    ps.setInt(4, verblijfsobject.getGebruiksdoelenVerblijfsobject().get(i).ordinal());
                }

                @Override
                public int getBatchSize() {
                    return verblijfsobject.getGebruiksdoelenVerblijfsobject().size();
                }
            });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void insertGebruikersdoelen(final List<Verblijfsobject> verblijfsobjecten) {
    final List<Gebruiksdoel> batch = new ArrayList<Gebruiksdoel>();
    for (Verblijfsobject verblijfsobject : verblijfsobjecten)
        for (nl.kadaster.schemas.imbag.imbag_types.v20090901.Gebruiksdoel gebruiksdoel : verblijfsobject
                .getGebruiksdoelenVerblijfsobject())
            batch.add(new Gebruiksdoel(verblijfsobject, gebruiksdoel));
    jdbcTemplate.batchUpdate(//  w  w w . j  a  v a 2  s .  c  om
            "insert into bag_gebruiksdoel (" + "bag_verblijfsobject_id," + "aanduiding_record_correctie,"
                    + "begindatum_tijdvak_geldigheid," + "gebruiksdoel" + ") values (?,?,?,?)",
            new BatchPreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, batch.get(i).getIdentificatie());
                    ps.setLong(2, batch.get(i).getAanduidingRecordCorrectie());
                    ps.setTimestamp(3, new Timestamp(batch.get(i).getBegindatumTijdvakGeldigheid().getTime()));
                    ps.setInt(4, batch.get(i).getGebruiksdoel().ordinal());
                }

                @Override
                public int getBatchSize() {
                    return batch.size();
                }
            });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void deleteGebruikersdoelen(final Verblijfsobject verblijfsobject) {
    jdbcTemplate.batchUpdate(//  ww w  .ja  v a  2s.c o  m
            "delete from bag_gebruiksdoel" + " where bag_verblijfsobject_id = ?"
                    + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?",
            new BatchPreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, verblijfsobject.getIdentificatie());
                    ps.setLong(2, verblijfsobject.getAanduidingRecordCorrectie());
                    ps.setTimestamp(3,
                            new Timestamp(verblijfsobject.getBegindatumTijdvakGeldigheid().getTime()));
                }

                @Override
                public int getBatchSize() {
                    return verblijfsobject.getGebruiksdoelenVerblijfsobject().size();
                }
            });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void insertNevenadressen(final TypeAdresseerbaarObject objectType,
        final BAGAdresseerbaarObject object) {
    jdbcTemplate.batchUpdate("insert into bag_neven_adres (" + "bag_object_id," + "aanduiding_record_correctie,"
            + "begindatum_tijdvak_geldigheid," + "bag_object_type," + "bag_nummeraanduiding_id"
            + ") values (?,?,?,?,?)", new BatchPreparedStatementSetter() {
                @Override/*from www  .  j  a v  a 2  s  .com*/
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, object.getIdentificatie());
                    ps.setLong(2, object.getAanduidingRecordCorrectie());
                    ps.setTimestamp(3, new Timestamp(object.getBegindatumTijdvakGeldigheid().getTime()));
                    ps.setInt(4, objectType.ordinal());
                    ps.setLong(5, object.getNevenAdressen().get(i));
                }

                @Override
                public int getBatchSize() {
                    return object.getNevenAdressen().size();
                }
            });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void insertNevenadressen(final TypeAdresseerbaarObject objectType,
        final List<? extends BAGAdresseerbaarObject> objects) {
    final List<NevenAdres> batch = new ArrayList<NevenAdres>();
    for (BAGAdresseerbaarObject object : objects)
        for (Long nevenAdres : object.getNevenAdressen())
            batch.add(new NevenAdres(object, nevenAdres));
    jdbcTemplate.batchUpdate("insert into bag_neven_adres (" + "bag_object_id," + "aanduiding_record_correctie,"
            + "begindatum_tijdvak_geldigheid," + "bag_object_type," + "bag_nummeraanduiding_id"
            + ") values (?,?,?,?,?)", new BatchPreparedStatementSetter() {
                @Override/*from ww  w  .ja  va2  s. c  om*/
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, batch.get(i).getIdentificatie());
                    ps.setLong(2, batch.get(i).getAanduidingRecordCorrectie());
                    ps.setTimestamp(3, new Timestamp(batch.get(i).getBegindatumTijdvakGeldigheid().getTime()));
                    ps.setInt(4, objectType.ordinal());
                    ps.setLong(5, batch.get(i).getNevenAdres());
                }

                @Override
                public int getBatchSize() {
                    return batch.size();
                }
            });
}

From source file:nl.ordina.bag.etl.dao.AbstractBAGDAO.java

protected void deleteNevenadressen(final TypeAdresseerbaarObject objectType,
        final BAGAdresseerbaarObject object) {
    jdbcTemplate.batchUpdate(//from  w  ww .j  a  v  a2 s  .  c  o m
            "delete from bag_neven_adres" + " where bag_object_id = ?" + " and bag_object_type = ?"
                    + " and aanduiding_record_correctie = ?" + " and begindatum_tijdvak_geldigheid = ?",
            new BatchPreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setLong(1, object.getIdentificatie());
                    ps.setInt(2, objectType.ordinal());
                    ps.setLong(3, object.getAanduidingRecordCorrectie());
                    ps.setTimestamp(4, new Timestamp(object.getBegindatumTijdvakGeldigheid().getTime()));
                }

                @Override
                public int getBatchSize() {
                    return object.getNevenAdressen().size();
                }
            });
}