이 장에서는 데이터 퍼시스턴스를 타코 애플리케이션에 추가할 것이다. 상용구 코드를 없애기 위해 스프링의 JDBC 기능을 사용하는 것부터 3.1 장에서 시작한다. 3.2 장에서는 JPA로 데이터 리포지토리를 사용할 수 있도록 할 것이다.
관계형 데이터를 사용할 경우 자바 개발자들이 선택할 수 있는 몇 가지 방법이 있다.
그 중 가장 많이 사용하는 두 가지 방법이 JDBC와 JPA다.
스프링 JDBC 지원은 JdbcTemplate 클래스에 기반을 둔다.
아래는 JdbcTemplate을 사용하지 않고 자바로 간단한 SQL 쿼리를 수행하는 방법이다.


위 코드의 문제점
JdbcTemplate을 사용해서 데이터베이스 쿼리하기
@Override
public Ingredient findById(String id) {
return jdbc.queryForObject(
"select id, name, type from Ingredient where id=?",
this::mapRowToIngredient, id);
}
private Ingredient mapRowToIngredient(ResultSet rs, int rowNum)
throws SQLException {
return new Ingredient(
rs.getString("id"),
rs.getString("name"),
Ingredient.Type.valueOf(rs.getString("type")));
}