Example usage for org.springframework.jdbc.core.namedparam NamedParameterJdbcTemplate queryForList

List of usage examples for org.springframework.jdbc.core.namedparam NamedParameterJdbcTemplate queryForList

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.namedparam NamedParameterJdbcTemplate queryForList.

Prototype

@Override
    public <T> List<T> queryForList(String sql, Map<String, ?> paramMap, Class<T> elementType)
            throws DataAccessException 

Source Link

Usage

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

public Set<String> findUnknownWords(TreebankSubSet knownSet, TreebankSubSet unknownSet) {
    Set<String> unknownWords = new TreeSet<String>();

    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    String sql = "SELECT word_text" + " FROM ftb_phrase_unit pu1"
            + " INNER JOIN ftb_phrase_child pc1 ON pu1.punit_phrase_id = pc1.pchild_child_id"
            + " INNER JOIN ftb_sentence s1 ON s1.sentence_id = pc1.pchild_phrase_id"
            + " INNER JOIN ftb_word ON pu1.punit_word_id = word_id" + " WHERE NOT EXISTS"
            + " (SELECT pu2.punit_word_id FROM ftb_phrase_unit pu2"
            + " INNER JOIN ftb_phrase_child pc2 ON pu2.punit_phrase_id = pc2.pchild_child_id"
            + " INNER JOIN ftb_sentence s2 ON s2.sentence_id = pc2.pchild_phrase_id"
            + " WHERE pu2.punit_word_id = pu1.punit_word_id";

    for (String whereClause : this.getWhereClausesForSubSet(knownSet, paramSource, "known_")) {
        sql += " AND " + whereClause;
    }/*from   w w  w  .j  a  va 2s. co m*/
    sql += ")";

    for (String whereClause : this.getWhereClausesForSubSet(unknownSet, paramSource, "unknown_")) {
        sql += " AND " + whereClause;
    }

    sql += " GROUP BY word_text";

    LOG.info(sql);
    TreebankDaoImpl.LogParameters(paramSource);
    @SuppressWarnings("unchecked")
    List<String> unknownWordList = jt.queryForList(sql, paramSource, String.class);

    unknownWords.addAll(unknownWordList);
    return unknownWords;
}