Example usage for java.sql PreparedStatement setDate

List of usage examples for java.sql PreparedStatement setDate

Introduction

In this page you can find the example usage for java.sql PreparedStatement setDate.

Prototype

void setDate(int parameterIndex, java.sql.Date x) throws SQLException;

Source Link

Document

Sets the designated parameter to the given java.sql.Date value using the default time zone of the virtual machine that is running the application.

Usage

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

@Override
public void insert(final Pand pand) throws DAOException {
    try {//from ww  w  .  ja v a2  s.c  o  m
        jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps = connection.prepareStatement("insert into bag_pand (" + "bag_pand_id,"
                        + "aanduiding_record_inactief," + "aanduiding_record_correctie," + "officieel,"
                        + "pand_geometrie," + "bouwjaar," + "pand_status," + "begindatum_tijdvak_geldigheid,"
                        + "einddatum_tijdvak_geldigheid," + "in_onderzoek," + "bron_documentdatum,"
                        + "bron_documentnummer" + ") values (?,?,?,?,?,?,?,?,?,?,?,?)");
                ps.setLong(1, pand.getIdentificatie());
                ps.setInt(2, pand.getAanduidingRecordInactief().ordinal());
                ps.setLong(3, pand.getAanduidingRecordCorrectie());
                ps.setInt(4, pand.getOfficieel().ordinal());
                ps.setString(5, pand.getPandGeometrie());
                ps.setInt(6, pand.getBouwjaar());
                ps.setString(7, pand.getPandStatus());
                ps.setTimestamp(8, new Timestamp(pand.getBegindatumTijdvakGeldigheid().getTime()));
                if (pand.getEinddatumTijdvakGeldigheid() == null)
                    ps.setNull(9, Types.TIMESTAMP);
                else
                    ps.setTimestamp(9, new Timestamp(pand.getEinddatumTijdvakGeldigheid().getTime()));
                ps.setInt(10, pand.getInOnderzoek().ordinal());
                ps.setDate(11, new Date(pand.getDocumentdatum().getTime()));
                ps.setString(12, pand.getDocumentnummer());
                return ps;
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error inserting pand: " + pand.getIdentificatie(), e);
    }
}

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

@Override
public void update(final OpenbareRuimte openbareRuimte) throws DAOException {
    try {/*www .  j  a  v  a2s.  com*/
        jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps = connection.prepareStatement("update bag_openbare_ruimte set"
                        + " aanduiding_record_inactief = ?," + " openbare_ruimte_naam = ?," + " officieel = ?,"
                        + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?,"
                        + " openbare_ruimte_type = ?," + " bron_documentdatum = ?,"
                        + " bron_documentnummer = ?," + " openbareruimte_status = ?,"
                        + " bag_woonplaats_id = ?," + " verkorte_openbare_ruimte_naam = ?"
                        + " where bag_openbare_ruimte_id = ?" + " and aanduiding_record_correctie = ?"
                        + " and begindatum_tijdvak_geldigheid = ?");
                ps.setInt(1, openbareRuimte.getAanduidingRecordInactief().ordinal());
                ps.setString(2, openbareRuimte.getOpenbareRuimteNaam());
                ps.setInt(3, openbareRuimte.getOfficieel().ordinal());
                if (openbareRuimte.getEinddatumTijdvakGeldigheid() == null)
                    ps.setNull(4, Types.TIMESTAMP);
                else
                    ps.setTimestamp(4, new Timestamp(openbareRuimte.getEinddatumTijdvakGeldigheid().getTime()));
                ps.setInt(5, openbareRuimte.getInOnderzoek().ordinal());
                ps.setInt(6, openbareRuimte.getOpenbareRuimteType().ordinal());
                ps.setDate(7, new Date(openbareRuimte.getDocumentdatum().getTime()));
                ps.setString(8, openbareRuimte.getDocumentnummer());
                ps.setInt(9, openbareRuimte.getOpenbareruimteStatus().ordinal());
                ps.setLong(10, openbareRuimte.getGerelateerdeWoonplaats());
                ps.setString(11, openbareRuimte.getVerkorteOpenbareRuimteNaam());
                ps.setLong(12, openbareRuimte.getIdentificatie());
                ps.setLong(13, openbareRuimte.getAanduidingRecordCorrectie());
                ps.setTimestamp(14, new Timestamp(openbareRuimte.getBegindatumTijdvakGeldigheid().getTime()));
                return ps;
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error updating openbare ruimte: " + openbareRuimte.getIdentificatie(), e);
    }
}

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

@Override
public void insert(final Woonplaats woonplaats) throws DAOException {
    try {/*w w w . j  ava2  s . c om*/
        jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps = connection.prepareStatement("insert into bag_woonplaats ("
                        + "bag_woonplaats_id," + "aanduiding_record_inactief," + "aanduiding_record_correctie,"
                        + "woonplaats_naam," + "woonplaats_geometrie," + "officieel,"
                        + "begindatum_tijdvak_geldigheid," + "einddatum_tijdvak_geldigheid," + "in_onderzoek,"
                        + "bron_documentdatum," + "bron_documentnummer," + "woonplaats_status"
                        + ") values (?,?,?,?,?,?,?,?,?,?,?,?)");
                ps.setLong(1, woonplaats.getIdentificatie());
                ps.setInt(2, woonplaats.getAanduidingRecordInactief().ordinal());
                ps.setLong(3, woonplaats.getAanduidingRecordCorrectie());
                ps.setString(4, woonplaats.getWoonplaatsNaam());
                ps.setString(5, woonplaats.getWoonplaatsGeometrie());
                ps.setInt(6, woonplaats.getOfficieel().ordinal());
                ps.setTimestamp(7, new Timestamp(woonplaats.getBegindatumTijdvakGeldigheid().getTime()));
                if (woonplaats.getEinddatumTijdvakGeldigheid() == null)
                    ps.setNull(8, Types.TIMESTAMP);
                else
                    ps.setTimestamp(8, new Timestamp(woonplaats.getEinddatumTijdvakGeldigheid().getTime()));
                ps.setInt(9, woonplaats.getInOnderzoek().ordinal());
                ps.setDate(10, new Date(woonplaats.getDocumentdatum().getTime()));
                ps.setString(11, woonplaats.getDocumentnummer());
                ps.setInt(12, woonplaats.getWoonplaatsStatus().ordinal());
                return ps;
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error inserting woonplaats: " + woonplaats.getIdentificatie(), e);
    }
}

From source file:org.openmrs.util.databasechange.DuplicateEncounterRoleNameChangeSet.java

/**
 * Method to perform validation and resolution of duplicate EncounterRole names
 *///from   w  w  w  .  j  a va 2  s.  c o  m
@Override
public void execute(Database database) throws CustomChangeException {
    JdbcConnection connection = (JdbcConnection) database.getConnection();
    Map<String, HashSet<Integer>> duplicates = new HashMap<String, HashSet<Integer>>();
    Statement stmt = null;
    PreparedStatement pStmt = null;
    ResultSet rs = null;
    Boolean initialAutoCommit = null;

    try {
        initialAutoCommit = connection.getAutoCommit();

        // set auto commit mode to false for UPDATE action
        connection.setAutoCommit(false);

        stmt = connection.createStatement();
        rs = stmt.executeQuery(
                "SELECT * FROM encounter_role INNER JOIN (SELECT name FROM encounter_role GROUP BY name HAVING count(name) > 1) dup ON encounter_role.name = dup.name");

        Integer id = null;
        String name = null;

        while (rs.next()) {
            id = rs.getInt("encounter_role_id");
            name = rs.getString("name");

            if (duplicates.get(name) == null) {
                HashSet<Integer> results = new HashSet<Integer>();
                results.add(id);
                duplicates.put(name, results);
            } else {

                HashSet<Integer> results = duplicates.get(name);
                results.add(id);
            }
        }

        Iterator it2 = duplicates.entrySet().iterator();
        while (it2.hasNext()) {
            Map.Entry pairs = (Map.Entry) it2.next();

            HashSet values = (HashSet) pairs.getValue();
            List<Integer> ids = new ArrayList<Integer>(values);

            int duplicateNameId = 1;
            for (int i = 1; i < ids.size(); i++) {
                String newName = pairs.getKey() + "_" + duplicateNameId;
                List<List<Object>> duplicateResult = null;
                boolean duplicateName = false;
                Connection con = DatabaseUpdater.getConnection();
                do {
                    String sqlValidatorString = "select * from encounter_role where name = '" + newName + "'";
                    duplicateResult = DatabaseUtil.executeSQL(con, sqlValidatorString, true);

                    if (!duplicateResult.isEmpty()) {

                        duplicateNameId += 1;
                        newName = pairs.getKey() + "_" + duplicateNameId;
                        duplicateName = true;
                    } else {
                        duplicateName = false;
                    }
                } while (duplicateName);

                pStmt = connection.prepareStatement(
                        "update encounter_role set name = ?, changed_by = ?, date_changed = ? where encounter_role_id = ?");
                if (!duplicateResult.isEmpty()) {
                    pStmt.setString(1, newName);
                }

                pStmt.setString(1, newName);
                pStmt.setInt(2, DatabaseUpdater.getAuthenticatedUserId());

                Calendar cal = Calendar.getInstance();
                Date date = new Date(cal.getTimeInMillis());

                pStmt.setDate(3, date);
                pStmt.setInt(4, ids.get(i));
                duplicateNameId += 1;

                pStmt.executeUpdate();
            }
        }
    }

    catch (BatchUpdateException e) {
        log.warn("Error generated while processsing batch insert", e);

        try {
            log.debug("Rolling back batch", e);
            connection.rollback();
        } catch (Exception rbe) {
            log.warn("Error generated while rolling back batch insert", e);
        }

        // marks the changeset as a failed one
        throw new CustomChangeException("Failed to update one or more duplicate EncounterRole names", e);
    } catch (Exception e) {
        throw new CustomChangeException(e);
    } finally {
        // set auto commit to its initial state
        try {
            connection.commit();
            if (initialAutoCommit != null) {
                connection.setAutoCommit(initialAutoCommit);
            }
            // connection.close();
        } catch (DatabaseException e) {
            log.warn("Failed to set auto commit to ids initial state", e);
        }

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                log.warn("Failed to close the resultset object");
            }
        }

        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                log.warn(
                        "Failed to close the select statement used to identify duplicate EncounterRole object names");
            }
        }

        if (pStmt != null) {
            try {
                pStmt.close();

            } catch (SQLException e) {
                log.warn(
                        "Failed to close the prepared statement used to update duplicate EncounterRole object names");
            }
        }
    }
}

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

@Override
public void update(final Standplaats standplaats) throws DAOException {
    try {//w w  w.  j av a2 s  .co m
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                jdbcTemplate.update(new PreparedStatementCreator() {
                    @Override
                    public PreparedStatement createPreparedStatement(Connection connection)
                            throws SQLException {
                        PreparedStatement ps = connection.prepareStatement("update bag_standplaats set"
                                + " aanduiding_record_inactief = ?," + " officieel = ?,"
                                + " standplaats_status = ?," + " standplaats_geometrie = ?,"
                                + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?,"
                                + " bron_documentdatum = ?," + " bron_documentnummer = ?,"
                                + " bag_nummeraanduiding_id = ?" + " where bag_standplaats_id = ?"
                                + " and aanduiding_record_correctie = ?"
                                + " and begindatum_tijdvak_geldigheid = ?");
                        ps.setInt(1, standplaats.getAanduidingRecordInactief().ordinal());
                        ps.setInt(2, standplaats.getOfficieel().ordinal());
                        ps.setInt(3, standplaats.getStandplaatsStatus().ordinal());
                        ps.setString(4, standplaats.getStandplaatsGeometrie());
                        if (standplaats.getEinddatumTijdvakGeldigheid() == null)
                            ps.setNull(5, Types.TIMESTAMP);
                        else
                            ps.setTimestamp(5,
                                    new Timestamp(standplaats.getEinddatumTijdvakGeldigheid().getTime()));
                        ps.setInt(6, standplaats.getInOnderzoek().ordinal());
                        ps.setDate(7, new Date(standplaats.getDocumentdatum().getTime()));
                        ps.setString(8, standplaats.getDocumentnummer());
                        ps.setLong(9, standplaats.getHoofdAdres());
                        ps.setLong(10, standplaats.getIdentificatie());
                        ps.setLong(11, standplaats.getAanduidingRecordCorrectie());
                        ps.setTimestamp(12,
                                new Timestamp(standplaats.getBegindatumTijdvakGeldigheid().getTime()));
                        return ps;
                    }
                });
                deleteNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, standplaats);
                insertNevenadressen(TypeAdresseerbaarObject.STANDPLAATS, standplaats);
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error updating standplaats: " + standplaats.getIdentificatie(), e);
    }
}

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

@Override
public void update(final OpenbareRuimte origineel, final OpenbareRuimte mutation) throws DAOException {
    try {/*from   w  w  w. ja va 2s .c om*/
        jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps = connection.prepareStatement("update bag_openbare_ruimte set"
                        + " aanduiding_record_inactief = ?," + " aanduiding_record_correctie = ?,"
                        + " openbare_ruimte_naam = ?," + " officieel = ?,"
                        + " einddatum_tijdvak_geldigheid = ?," + " in_onderzoek = ?,"
                        + " openbare_ruimte_type = ?," + " bron_documentdatum = ?,"
                        + " bron_documentnummer = ?," + " openbareruimte_status = ?,"
                        + " bag_woonplaats_id = ?," + " verkorte_openbare_ruimte_naam = ?"
                        + " where bag_openbare_ruimte_id = ?" + " and aanduiding_record_correctie = ?"
                        + " and begindatum_tijdvak_geldigheid = ?");
                ps.setInt(1, mutation.getAanduidingRecordInactief().ordinal());
                ps.setLong(2, mutation.getAanduidingRecordCorrectie());
                ps.setString(3, mutation.getOpenbareRuimteNaam());
                ps.setInt(4, mutation.getOfficieel().ordinal());
                if (mutation.getEinddatumTijdvakGeldigheid() == null)
                    ps.setNull(5, Types.TIMESTAMP);
                else
                    ps.setTimestamp(5, new Timestamp(mutation.getEinddatumTijdvakGeldigheid().getTime()));
                ps.setInt(6, mutation.getInOnderzoek().ordinal());
                ps.setInt(7, mutation.getOpenbareRuimteType().ordinal());
                ps.setDate(8, new Date(mutation.getDocumentdatum().getTime()));
                ps.setString(9, mutation.getDocumentnummer());
                ps.setInt(10, mutation.getOpenbareruimteStatus().ordinal());
                ps.setLong(11, mutation.getGerelateerdeWoonplaats());
                ps.setString(12, mutation.getVerkorteOpenbareRuimteNaam());
                ps.setLong(13, origineel.getIdentificatie());
                ps.setLong(14, origineel.getAanduidingRecordCorrectie());
                ps.setTimestamp(15, new Timestamp(origineel.getBegindatumTijdvakGeldigheid().getTime()));
                return ps;
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error updating openbare ruimte: " + origineel.getIdentificatie(), e);
    }
}

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

@Override
public void insertVerblijfsobjecten(final List<Verblijfsobject> verblijfsobjecten) throws DAOException {
    try {/*from  ww w.  java 2s  . 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 update(final Ligplaats ligplaats) throws DAOException {
    try {//from  w ww.j av  a  2 s . c  o m
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus status) {
                jdbcTemplate.update(new PreparedStatementCreator() {
                    @Override
                    public PreparedStatement createPreparedStatement(Connection connection)
                            throws SQLException {
                        PreparedStatement ps = connection.prepareStatement(
                                "update bag_ligplaats set" + " aanduiding_record_inactief = ?,"
                                        + " officieel = ?," + " ligplaats_status = ?,"
                                        + " ligplaats_geometrie = ?," + " einddatum_tijdvak_geldigheid = ?,"
                                        + " in_onderzoek = ?," + " bron_documentdatum = ?,"
                                        + " bron_documentnummer = ?," + " bag_nummeraanduiding_id = ?"
                                        + " where bag_ligplaats_id = ?" + " and aanduiding_record_correctie = ?"
                                        + " and begindatum_tijdvak_geldigheid = ?");
                        ps.setInt(1, ligplaats.getAanduidingRecordInactief().ordinal());
                        ps.setInt(2, ligplaats.getOfficieel().ordinal());
                        ps.setInt(3, ligplaats.getLigplaatsStatus().ordinal());
                        ps.setString(4, ligplaats.getLigplaatsGeometrie());
                        if (ligplaats.getEinddatumTijdvakGeldigheid() == null)
                            ps.setNull(5, Types.TIMESTAMP);
                        else
                            ps.setTimestamp(5,
                                    new Timestamp(ligplaats.getEinddatumTijdvakGeldigheid().getTime()));
                        ps.setInt(6, ligplaats.getInOnderzoek().ordinal());
                        ps.setDate(7, new Date(ligplaats.getDocumentdatum().getTime()));
                        ps.setString(8, ligplaats.getDocumentnummer());
                        ps.setLong(9, ligplaats.getHoofdAdres());
                        ps.setLong(10, ligplaats.getIdentificatie());
                        ps.setLong(11, ligplaats.getAanduidingRecordCorrectie());
                        ps.setTimestamp(12,
                                new Timestamp(ligplaats.getBegindatumTijdvakGeldigheid().getTime()));
                        return ps;
                    }
                });
                deleteNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, ligplaats);
                insertNevenadressen(TypeAdresseerbaarObject.LIGPLAATS, ligplaats);
            }
        });
    } catch (DataAccessException e) {
        throw new DAOException("Error updating ligplaats: " + ligplaats.getIdentificatie(), e);
    }
}

From source file:org.openmrs.util.databasechange.DuplicateLocationAttributeTypeNameChangeSet.java

/**
 * Method to perform validation and resolution of duplicate LocationAttributeType names
 *//*from  w w  w .  j  a  v a2 s  .  c  o m*/
@Override
public void execute(Database database) throws CustomChangeException {
    JdbcConnection connection = (JdbcConnection) database.getConnection();
    Map<String, HashSet<Integer>> duplicates = new HashMap<String, HashSet<Integer>>();
    Statement stmt = null;
    PreparedStatement pStmt = null;
    ResultSet rs = null;
    boolean autoCommit = true;
    try {
        // set auto commit mode to false for UPDATE action
        autoCommit = connection.getAutoCommit();
        connection.setAutoCommit(false);
        stmt = connection.createStatement();
        rs = stmt.executeQuery("SELECT * FROM location_attribute_type "
                + "INNER JOIN (SELECT name FROM location_attribute_type GROUP BY name HAVING count(name) > 1) "
                + "dup ON location_attribute_type.name = dup.name");
        Integer id = null;
        String name = null;

        while (rs.next()) {
            id = rs.getInt("location_attribute_type_id");
            name = rs.getString("name");
            if (duplicates.get(name) == null) {
                HashSet<Integer> results = new HashSet<Integer>();
                results.add(id);
                duplicates.put(name, results);
            } else {
                HashSet<Integer> results = duplicates.get(name);
                results.add(id);
            }
        }

        Iterator it2 = duplicates.entrySet().iterator();
        while (it2.hasNext()) {
            Map.Entry pairs = (Map.Entry) it2.next();
            HashSet values = (HashSet) pairs.getValue();
            List<Integer> duplicateNames = new ArrayList<Integer>(values);
            int duplicateNameId = 1;
            for (int i = 1; i < duplicateNames.size(); i++) {
                String newName = pairs.getKey() + "_" + duplicateNameId;
                List<List<Object>> duplicateResult = null;
                boolean duplicateName = false;
                Connection con = DatabaseUpdater.getConnection();
                do {
                    String sqlValidatorString = "select * from location_attribute_type where name = '" + newName
                            + "'";
                    duplicateResult = DatabaseUtil.executeSQL(con, sqlValidatorString, true);
                    if (!duplicateResult.isEmpty()) {
                        duplicateNameId += 1;
                        newName = pairs.getKey() + "_" + duplicateNameId;
                        duplicateName = true;
                    } else {
                        duplicateName = false;
                    }
                } while (duplicateName);
                pStmt = connection.prepareStatement(
                        "update location_attribute_type set name = ?, changed_by = ?, date_changed = ? where location_attribute_type_id = ?");
                if (!duplicateResult.isEmpty()) {
                    pStmt.setString(1, newName);
                }
                pStmt.setString(1, newName);
                pStmt.setInt(2, DatabaseUpdater.getAuthenticatedUserId());

                Calendar cal = Calendar.getInstance();
                Date date = new Date(cal.getTimeInMillis());

                pStmt.setDate(3, date);
                pStmt.setInt(4, duplicateNames.get(i));
                duplicateNameId += 1;

                pStmt.executeUpdate();
            }
        }
    } catch (BatchUpdateException e) {
        log.warn("Error generated while processsing batch insert", e);
        try {
            log.debug("Rolling back batch", e);
            connection.rollback();
        } catch (Exception rbe) {
            log.warn("Error generated while rolling back batch insert", e);
        }
        // marks the changeset as a failed one
        throw new CustomChangeException("Failed to update one or more duplicate LocationAttributeType names",
                e);
    } catch (Exception e) {
        throw new CustomChangeException("Error while updating duplicate LocationAttributeType object names", e);
    } finally {
        // reset to auto commit mode
        try {
            connection.commit();
            connection.setAutoCommit(autoCommit);
        } catch (DatabaseException e) {
            log.warn("Failed to reset auto commit back to true", e);
        }

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                log.warn("Failed to close the resultset object");
            }
        }

        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                log.warn(
                        "Failed to close the select statement used to identify duplicate LocationAttributeType object names");
            }
        }

        if (pStmt != null) {
            try {
                pStmt.close();
            } catch (SQLException e) {
                log.warn(
                        "Failed to close the prepared statement used to update duplicate LocationAttributeType object names");
            }
        }
    }
}

From source file:migration.ProjektMigration.java

/**
 * Creates the journalkosten.//w  w w.  j ava2  s .  com
 */
public void createJournalkosten() {

    String load_sql;
    Statement load_stmt;
    ResultSet load_rs;

    String store_sql;
    PreparedStatement store_prepstmt;
    final ResultSet store_rs;

    try {

        load_sql = "SELECT IMwStO, IMwStP, IMwStPO, IPreisO, IPreisP, IPreisPO, IWaehrungO, IWaehrungP, IWaehrungPO, OPreisO, OPreisP, OPreisPO, Impact, ImpactDatum, MwStO, MwStP, MwStPO, WaehrungO, WaehrungP, WaehrungPO, Titelnummer FROM ZSTiteltabelle";
        load_stmt = this.leg_con.createStatement();

        store_sql = "INSERT INTO Journalkosten (IMwStO, IMwStP, IMwStPO, IPreisO, IPreisP, IPreisPO, IWaehrungO, IWaehrungP, IWaehrungPO, OPreisO, OPreisP, OPreisPO, impact, impactDatum, mwStO, mwStP, mwStPO, waehrungO, waehrungP, waehrungPO, journal_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        store_prepstmt = this.tgt_con.prepareStatement(store_sql); // evtl.
        // brauchen
        // wir
        // was
        // in
        // Richtung:
        // Statement.RETURN_GENERATED_KEYS

        // logger.info("Lese von ZSTiteltabelle (Journalkosten)");
        load_stmt.execute(load_sql);
        load_rs = load_stmt.getResultSet();

        // logger.info("Schreibe nach Journalkosten");
        while (load_rs.next()) {
            final int titelnummer = load_rs.getInt("Titelnummer");
            final int journalID = this.help.getIdFromIntArray(this.help.getJournals(), titelnummer);
            // ystem.out.println("Titelnummer: " + titelnummer +
            // " JournalID " + journalID);
            if ((titelnummer > 0) && (journalID > 0)) {
                store_prepstmt.setString(1, load_rs.getString("IMwStO"));
                store_prepstmt.setString(2, load_rs.getString("IMwStP"));
                store_prepstmt.setString(3, load_rs.getString("IMwStPO"));
                store_prepstmt.setFloat(4, load_rs.getFloat("IPreisO"));
                store_prepstmt.setFloat(5, load_rs.getFloat("IPreisP"));
                store_prepstmt.setFloat(6, load_rs.getFloat("IPreisPO"));
                store_prepstmt.setString(7, load_rs.getString("IWaehrungO"));
                store_prepstmt.setString(8, load_rs.getString("IWaehrungP"));
                store_prepstmt.setString(9, load_rs.getString("IWaehrungPO"));
                store_prepstmt.setFloat(10, load_rs.getFloat("OPreisO"));
                store_prepstmt.setFloat(11, load_rs.getFloat("OPreisP"));
                store_prepstmt.setFloat(12, load_rs.getFloat("OPreisPO"));
                store_prepstmt.setFloat(13, load_rs.getFloat("Impact"));
                store_prepstmt.setDate(14, load_rs.getDate("ImpactDatum"));
                store_prepstmt.setString(15, load_rs.getString("MwStO"));
                store_prepstmt.setString(16, load_rs.getString("MwStP"));
                store_prepstmt.setString(17, load_rs.getString("MwStPO"));
                store_prepstmt.setString(18, load_rs.getString("WaehrungO"));
                store_prepstmt.setString(19, load_rs.getString("WaehrungP"));
                store_prepstmt.setString(20, load_rs.getString("WaehrungPO"));
                store_prepstmt.setLong(21, journalID);
                store_prepstmt.executeUpdate();
            }
        }

    } catch (final SQLException e) {
        e.printStackTrace(); // To change body of catch statement use File |
                             // Settings | File Templates.
    }

}