List of usage examples for org.springframework.jdbc.core.namedparam NamedParameterJdbcTemplate queryForList
@Override public <T> List<T> queryForList(String sql, Map<String, ?> paramMap, Class<T> elementType) throws DataAccessException
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; }