2017-08-24 12 views
2

Java Dateを使用し、JDBCTEmplateを使用してプリペアドステートメントで使用したい場合、これは正しい構文ですか?SpringでJava Dateを渡す方法Prepared Statement

Date x = new Date(); 

... 

String SQL = "select a.1, a.2 from b JOIN a ON b.id = a.b_id where b.name = ? and a.type = ? and a.date = ?"; 

A istance = jdbcTemplate.queryForObject(SQL, new Object[]{variable_1, variable_2, x}, new aAndbMapper()); 

それとも私が書く必要があります:私はカスタムマッパーなしでそれを行うだろうけれども

String SQL = "select a.1, a.2 from b JOIN a ON b.id = a.b_id where b.name = ? and a.type = ? and DATE(a.date) = ?"; 
+2

最初の方が良い解決策です – Jens

+0

'java.sql.Date'クラスのオブジェクトをパラメータとして使用します – Zico

答えて

1

まず一つは、良いオプションです:

beanPropertymapper上
String SQL = "select a.1, a.2 from b JOIN a ON b.id = a.b_id where b.name = ? and a.type = ? and a.date = ?"; 

A istance = getJdbcTemplate().queryForObject(SQL, new Object[]{variable_1, variable_2, x}, new BeanPropertyRowMapper(A.class)); 

の詳細: Documentation

関連する問題