Spring Like-Klausel

Ich bin versucht, einen MapSqlParameterSource um eine Abfrage zu erstellen mit einer Like-Klausel.

Den code so etwas wie dieses. Die Funktion enthält, die es erhält, nameParam:

String namecount = "SELECT count(*) FROM People WHERE LOWER(NAME) LIKE :pname ";

String finalName= "'%" +nameParam.toLowerCase().trim() + "%'";

MapSqlParameterSource namedParams= new MapSqlParameterSource();

namedParams.addValue("pname", finalName);

int count= this.namedParamJdbcTemplate.queryForInt(namecount, namedParams);

Funktioniert das nicht richtig, was mich irgendwo zwischen 0-10 Ergebnisse, wenn ich sein sollte, erhalten Tausende. Ich im wesentlichen will die endgültige Abfrage wie folgt Aussehen:

SELECT count(*) FROM People WHERE LOWER(NAME) LIKE '%name%'

aber das ist offenbar nicht passiert. Jede Hilfe würde geschätzt werden.

Edit:

Habe ich auch versucht, indem Sie das '%'s in die SQL, wie

 String finalName= nameParam.toLowerCase().trim();

 String namecount = "SELECT count(*) FROM People WHERE LOWER(NAME) LIKE '%:pname%' "

;

aber das funktioniert auch nicht.

InformationsquelleAutor der Frage Chris | 2010-07-14

Schreibe einen Kommentar