*Markus: SELECT mit Parameter mit Spring

Beitrag lesen

Hej,

Vorab: ich kenn mich mit Spring überhaupt nicht aus, aber mal schaun ob ich doch helfen kann:

Gibt es wirklich keine Möglichkeit, die Parameter _einfach_ zu übergeben?

Du meinst noch einfacher als ein return über 18 Zeichen zu programmieren? Mal im Ernst, wenn du bei dem Code den Überblick behälst nehm ich meinen Hut vor dir ,-)

Ich finde es auch schrecklich. Es gibt aber offensichtlich bei Spring keine Methoden mit vernünftigen Parametern, wo ich es "einfach" programmieren könnte.

Bei INSERT musste ich bei der Parameterliste immerhin auch schon mit new Object[]{....} arbeiten.

naja, als Behelf kann man sowas machen, aber ich finds recht dreckig.

Ich auch. Diese Lösung bekam ich sogar von der Java-Newsgroup. Vorher sah es noch viel dreckiger aus. Ich sagte ja, man kann offensichtlich die Parameter nicht vernünftig übergeben.

Du wirst wahrscheinlich gebeten, anstatt der Methode JDBCTemplate.query( String sql, Object[] args, RowMapper rowMapper ), die Methode [link:http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/jdbc/core/JdbcTemplate.html#query(java.lang.String,%20org.springframework.jdbc.core.PreparedStatementSetter,%20org.springframework.jdbc.core.RowMapper)@title=JDBCTemplate.query( String sql, PreparedStatementSetter psm, RowMapper rowMapper );] zu verwenden. Dem PreparedStatementSetter musst du ein java.sql.PreparedStatement übergeben, welches die Methode [link:http://java.sun.com/javase/6/docs/api/java/sql/PreparedStatement.html#setObject(int,%20java.lang.Object)@title=setObject( int ParameterIndex, Object x)] kennt.

Ich verstehe nicht, wie ich es verwenden soll. Ich habe keine Connection, mit der ich das Statement vorbereiten kann, da das Connection Handling Spring übernimmt.

Markus