--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseLayerImplementation.java 2016/02/03 18:45:33 2903 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseCoverageUpdate.java 2016/04/19 12:36:31 3003 @@ -16,13 +16,11 @@ 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 { +public class DatabaseCoverageUpdate { //static boolean DEBUG = false; @@ -42,7 +40,7 @@ ; try ( Connection conn = DBConnection.getConnection(); - Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); + Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); ) { stmt.setFetchSize(Integer.MIN_VALUE); ResultSet res = stmt.executeQuery(sql); @@ -109,14 +107,16 @@ String sql = "INSERT IGNORE INTO fulddaekning.adressetabel " + "(vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,dbkbane,indlast,aendret,david,googlechecked," + - "RuteMa,KorelisteMa,RuteTi,KorelisteTi,RuteOn,KorelisteOn,RuteTo,KorelisteTo,RuteFr,KorelisteFr,RuteLo,KorelisteLo,RuteSo,KorelisteSo) " + + "RuteMa,KorelisteMa,RuteTi,KorelisteTi,RuteOn,KorelisteOn,RuteTo,KorelisteTo,RuteFr,KorelisteFr,RuteLo,KorelisteLo,RuteSo,KorelisteSo, " + + "kommentar,latitude,longitude) " + "VALUES " + "(?,?,?,?,?,?,?,?, now(), now(), ?, 0, " + - "?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + "?,?,?,?,?,?,?,?,?,?,?,?,?,?," + + "?,?,?) "; try (Connection con = DBConnection.getConnection()) { - //con.setAutoCommit(false); + try (PreparedStatement stmt = con.prepareStatement(sql)) { for (Address addr : addresses) { @@ -147,6 +147,19 @@ stmt.setString(21, addr.korelisteLordag); stmt.setString(22, addr.ruteSondag); stmt.setString(23, addr.korelisteSondag); + + stmt.setString(24, addr.kommentar); + + if (addr.latitude != 0.0) { + stmt.setDouble(25, addr.latitude); + } else { + stmt.setNull(25, java.sql.Types.DOUBLE); + } + if (addr.longitude != 0.0) { + stmt.setDouble(26, addr.longitude); + } else { + stmt.setNull(26, java.sql.Types.DOUBLE); + } stmt.execute(); @@ -210,7 +223,7 @@ stmt.execute(); if (stmt.getUpdateCount() != 1) { - System.out.println("Error executing update"); + logger.warning("Error executing update: " + addr); } }