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. DemPreparedStatementSetter
musst du einjava.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