--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseLayerImplementation.java 2016/01/24 21:48:55 2838 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseLayerImplementation.java 2016/01/26 11:48:37 2847 @@ -12,23 +12,27 @@ import dk.daoas.adressevedligehold.util.DeduplicateHelper; import dk.daoas.adressevedligehold.util.TimingHelper; - +/* + * TODO: Batched skrivning af updates + * TODO: Skrivning af nye adresser + * + */ public class DatabaseLayerImplementation { - static boolean DEBUG = false; + //static boolean DEBUG = false; public List
getAllAdresses() throws SQLException { TimingHelper timing = new TimingHelper(); - String debugFilter = DatabaseLayerImplementation.DEBUG ? " WHERE postnr = 8700 " : ""; + //String debugFilter = DatabaseLayerImplementation.DEBUG ? " WHERE postnr >= 6000 " : ""; String sql = "SELECT id,vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,upper(distributor) AS distributor,dbkbane,latitude,longitude, " + "rutema,korelistema,ruteti,korelisteti,ruteon,korelisteon,ruteto,korelisteto,rutefr,korelistefr,rutelo,korelistelo,ruteso,korelisteso " + "FROM fulddaekning.adressetabel " - + debugFilter + //+ debugFilter ; try ( Connection conn = DBConnection.getConnection(); @@ -94,7 +98,12 @@ } } + private void updateAddressesBatch(List
addresses) throws SQLException { + + } + public void updateAddresses(List
addresses) { + System.out.println("DB::UpdateAddresses size:" + addresses.size() ); String sql = "UPDATE fulddaekning.adressetabel " + "SET " + @@ -104,13 +113,15 @@ "RuteTo=?, KorelisteTo=?, " + "RuteFr=?, KorelisteFr=?, " + "RuteLo=?, KorelisteLo=?, " + - "RuteSo=?, KorelisteSo=? " + + "RuteSo=?, KorelisteSo=?, " + + "Distributor=?, " + + "DBKBane=? " + "WHERE id=?"; try (Connection con = DBConnection.getConnection()) { - con.setAutoCommit(false); + //con.setAutoCommit(false); try (PreparedStatement stmt = con.prepareStatement(sql)) { for (Address addr : addresses) { @@ -129,7 +140,9 @@ stmt.setString(13, addr.ruteSondag); stmt.setString(14, addr.korelisteSondag); - stmt.setInt(15, addr.id); + stmt.setString(15, addr.distributor); + stmt.setInt(16, addr.dbkBane); + stmt.setInt(17, addr.id); stmt.execute(); @@ -140,7 +153,7 @@ } } - con.commit(); + //con.commit(); } catch (SQLException e) { System.out.println("Error updating addresses" + e.getMessage() ); }