Example usage for org.springframework.jdbc.core JdbcOperations update

List of usage examples for org.springframework.jdbc.core JdbcOperations update

Introduction

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

Prototype

int update(PreparedStatementCreator psc) throws DataAccessException;

Source Link

Document

Issue a single SQL update operation (such as an insert, update or delete statement) using a PreparedStatementCreator to provide SQL and any required parameters.

Usage

From source file:io.spring.marchmadness.boot.BracketScoringCommandLineRunner.java

@Override
public void run(String... strings) throws Exception {

    BracketScoringTraversalCallbackFactory bracketScoringTraversalCallbackFactoryBean = new BracketScoringTraversalCallbackFactory();

    bracketScoringTraversalCallbackFactoryBean.setDataSource(dataSource);

    Map<String, Bracket> results = new HashMap<>(2);

    bracketRepository.findViableBrackets().filter(bracket -> {
        FinalFourFilterTraversalCallback callback = new FinalFourFilterTraversalCallback();
        bracket.traverse(callback);/*from   ww  w.j  a va2  s  .c  om*/
        return callback.isValid();
    }).filter(bracket -> {
        EliteEightFilterTraversalCallback callback = new EliteEightFilterTraversalCallback();
        bracket.traverse(callback);
        return callback.isValid();
    }).map(bracket -> {
        TeamPopulatorTraversalCallback callback = new TeamPopulatorTraversalCallback(env);
        bracket.traverse(callback);
        return bracket;
    }).map(bracket -> {
        BracketScoringTraversalCallback callback = bracketScoringTraversalCallbackFactoryBean.getObject();
        bracket.traverse(callback);
        bracket.setScore(callback.getBracketScore());
        return bracket;
    }).forEach(bracket -> {
        if (!results.containsKey(MIN_BRACKET)) {
            results.put(MIN_BRACKET, bracket);
            results.put(MAX_BRACKET, bracket);
        } else {
            Bracket minBracket = results.get(MIN_BRACKET);
            Bracket maxBracket = results.get(MAX_BRACKET);

            if (minBracket.getScore() > bracket.getScore()) {
                results.put(MIN_BRACKET, bracket);
            }

            if (maxBracket.getScore() < bracket.getScore()) {
                results.put(MAX_BRACKET, bracket);
            }
        }
    });

    JdbcOperations jdbcTemplate = new JdbcTemplate(this.dataSource);

    jdbcTemplate.update(DELETE_OLD_RESULTS);

    Bracket maxBracket = results.get(MAX_BRACKET);

    jdbcTemplate.update(BRACKET_RESULTS, maxBracket.getId(), maxBracket.getScore());

    System.out.println("************** MAX ****************");
    System.out.println("Winner: " + maxBracket.getWinner().getTeamName());
    System.out.println("Score: " + maxBracket.getScore());
    System.out.println("Bracket Id: " + maxBracket.getId());

    Bracket minBracket = results.get(MIN_BRACKET);

    jdbcTemplate.update(BRACKET_RESULTS, minBracket.getId(), minBracket.getScore());

    System.out.println("************** MIN ****************");
    System.out.println("Winner: " + minBracket.getWinner().getTeamName());
    System.out.println("Score: " + minBracket.getScore());
    System.out.println("Bracket Id: " + minBracket.getId());

    //            .collect(groupingBy(bracket4 ->
    //               bracket4.getWinner().getTeamName(), counting()
    //            ));
    //            .forEach(bracket -> {
    //               System.out.println("Winner: " + bracket.getWinner().getTeamName() + " " + counter.incrementAndGet());
    //      });
    //
    //      System.out.println("***************** RESULTS *********************");
    //      for (Map.Entry<String, Long> winner : results.entrySet()) {
    //         System.out.println(winner.getKey() + " won " + winner.getValue() + " times.");
    //      }
}

From source file:edu.wisc.jmeter.dao.JdbcMonitorDao.java

private void setupTables() {
    final JdbcOperations jdbcOperations = this.jdbcTemplate.getJdbcOperations();

    for (final Map.Entry<String, String> tableConfigEntry : TABLE_CONFIG.entrySet()) {
        jdbcOperations.execute(new ConnectionCallback<Object>() {
            @Override//w  w w  . ja  v  a  2 s . c  o m
            public Object doInConnection(Connection con) throws SQLException, DataAccessException {
                final DatabaseMetaData metaData = con.getMetaData();

                final String tableName = tableConfigEntry.getKey();
                final ResultSet tables = metaData.getTables(null, null, tableName, null);
                try {
                    if (!tables.next()) {
                        log.warn("'" + tableName + "' table does not exist, creating.");
                        jdbcOperations.update(tableConfigEntry.getValue());
                    } else {
                        log.info("'" + tableName + "' table already exists, skipping.");
                    }
                } finally {
                    tables.close();
                }

                return null;
            }
        });
    }
}

From source file:org.geoserver.jdbcconfig.internal.JdbcConfigTestSupport.java

private void runScript(String dbScriptName) throws IOException {
    NamedParameterJdbcTemplate template = new NamedParameterJdbcTemplate(dataSource);

    String[] initScript = readDbScript(dbScriptName);
    JdbcOperations jdbcOperations = template.getJdbcOperations();
    for (String sentence : initScript) {
        try {/*from   www  . j a  v a  2s.c  o m*/
            jdbcOperations.update(sentence);
        } catch (DataAccessException e) {
            // e.printStackTrace();
            throw e;
        }
    }
}

From source file:org.geoserver.jdbcconfig.internal.Util.java

/**
 * Reads SQL from the specified script and executes against a JdbcOperations instance.
 * <p>/*from  w  w w. j  a v a  2s.  c  om*/
 * A few notes about the format of the file:
 * <ul>
 *   <li>Statements may span multiple lines, and must be terminated with a ";"
 *   <li>Lines starting with "--" are considered comments and ignored
 *   <li>Statements may be preceded with "?" to signal that it is ok if the statement fails  
 * </ul>
 * </p>
 */
public static void runScript(URL script, JdbcOperations jdbc, Logger logger) throws IOException {
    InputStream stream = script.openStream();
    List<String> lines;
    try {
        lines = org.apache.commons.io.IOUtils.readLines(stream);
    } finally {
        stream.close();
    }

    StringBuilder buf = new StringBuilder();
    for (String sql : lines) {
        sql = sql.trim();
        if (sql.isEmpty()) {
            continue;
        }
        if (sql.startsWith("--")) {
            continue;
        }
        buf.append(sql).append(" ");
        if (sql.endsWith(";")) {
            String stmt = buf.toString();
            boolean skipError = stmt.startsWith("?");
            if (skipError) {
                stmt = stmt.replaceAll("^\\? *", "");
            }

            if (logger != null)
                logger.info("Running: " + stmt);

            try {
                jdbc.update(stmt);
            } catch (DataAccessException e) {
                if (!skipError) {
                    throw e;
                }
            }

            buf.setLength(0);
        }
    }
}