2
私が設定している:私のコントローラでJdbcTemplateでDataSourceを指定する方法は?私のapplication.propertiesで
datasource.test.driverClass=org.postgresql.Driver
datasource.test.url=jdbc:postgresql://localhost:5433/test
datasource.test.username=admin
datasource.test.password=admin
logging.level.com.eternity = DEBUG
を、私はこのような文字列を形成し、いくつかのSQLクエリを実行しようとしています:
String selectQueryPartOne = "SELECT name, ("+ StringUtils.join(sumString, " + ")+") AS 'Price' FROM house WHERE NOT (" +StringUtils.join(sumString, " IS NULL OR ")+" IS NULL);";
JdbcTemplate statement = new JdbcTemplate();
statement.queryForList(selectQueryPartOne);
正常に動作思われる、しかし、私は、次のエラーが発生します:
java.lang.IllegalArgumentException: No DataSource specified
私statement
オブジェクトに、私が最初にsetDataSourceする必要があることを、私を発見しました。しかし、私はこのdataSourceオブジェクトをどこで取得できるか分かりません。手伝ってくれる?
あなたのために 'JdbcTemplate'を既に作成している(あなたのタグにしたがって)Springブートを使用していますが、なぜあなた自身で作成していますか?ちょうどそれを注入する。 –
はい、@ M.Deinumによると、自分で作成した場合、Springによって作成されたものを使用していないため、DataSourceを注入しません。ちょうどJdbcTemplateをautowireし、代わりにその1つを使用してください。 – cjstehno
どのように注入できますか?私は春を公開しようとしています。だから愚かな質問であれば大変申し訳ありません。 – uksz