저번 시간엔 RowMapper에 대해 알아보았다.
그렇다면 이번엔 이를 사용하는 query() 메소드에 대해 알아보자.
여러개의 값을 조회할 때 쓰인다. 사용법은 다음과 같다.
List<T> jdbcTemplate.query(SQL구문, RowMapper<T> rowMapper, 인자);
1. SQL 구문
: 말 그대로 SQL 구문을 말한다.
2. 반환 타입
: queryForObject와 달리, 여러개의 반환값을 받기 위해 RowMapper를 사용한다.
3. 인자
: 위와 동일.
이것을 예시로 작성해보면 다음과 같다.
// select 구문
String SELECT_A = "SELECT * FROM USER";
// userlist 반환 받기
List<User> userList = jdbcTemplate.query(
SELECT_All,
(rs, count) -> new User(
rs.getString("name"),
rs.getString("description")
),
);
SELECT 구문으로 받은 값을 RowMapper로 반환하고 있다.
인자는 없으면 생략해도 좋다.
저번에 RowMapper를 미리 설명해서 그런지 빨리 끝났다 ㅎㅎ
다음 편에선 특수 버전인 NamedParameterJdbcTemplate과 SimpleJdbcInsert에 대해 알아보자.
뭔가 어마어마해보이지만,
그냥 Named는 쿼리 날리기가 좀 더 편리해졌고,
Simple은 이름 그대로 Insert 쿼리가 아~주 심플해진다.
간단하므로, 묶어서 알아보도록 하겠다.