반응형
Error
@Override
public List<Menu> findMenus(String id) {
Map<String, Object> params = new HashMap<>();
params.put("id", appId);
return jdbcTemplate.queryForList(sqlSelectMenus, params, Menu.class);
}
org.springframework.jdbc.IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 8
at org.springframework.jdbc.core.SingleColumnRowMapper.mapRow(SingleColumnRowMapper.java:87)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:92)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:1)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:636)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:661)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:701)
jdbcTemplate를 사용하여 조회하는데 위롸 같은 에러를 만났다.
반응형
Solution
알고보니 jdbcTemplate의 queryForList는 단일 칼럼 조회에 가능하다는 것.
나는 8개의 컬럼이 조회되어 Incorrect column count: expected 1, actual 8 것이었다.
그리하여 수정한 것이 아래코드
@Override
public List<Menu> findMenus(String id) {
Map<String, Object> params = new HashMap<>();
params.put("id", appId);
return jdbcTemplate.query(sqlSelectMenus, params, new BeanPropertyRowMapper<Menu>(Menu.class));
}
구현되어 있는 BeanPropertyRowMapper를 사용해 보고자 하였다.
하지만 같은에러가 나왔고 원인은 jdbcTemplate을 사용하기 때문이었다.
그래서 직접 RowMapper를 구현하였다.
@Override
public List<Menu> findMenus(String id) {
Map<String, Object> params = new HashMap<>();
params.put("id", appId);
return jdbcTemplate.query(sqlSelectMenus, params,
(rs, rowNum) -> new User(
rs.getString("ID"),
rs.getString("NAME"),
rs.getInt("PATH")));
}
위와 같이 mapper를 생성하여 주었다.
반응형
'Spring > error' 카테고리의 다른 글
[Spring Error] SpringBoot 서버에 Ajax로 PUT Method 통신시 403 Forbidden 에러 해결 (0) | 2021.01.27 |
---|---|
[Spring Error] Lombok @RequiredArgsConstructor 통한 주입 에러 해결 (2) | 2021.01.12 |
[Spring Error] log4jdbc 에러 (0) | 2020.12.13 |
[Spring Error 기록] CORS policy 해결 후, token 생기지 않는 문제 해결 (0) | 2020.12.10 |
[Spring-Boot] 실행 시 Path with "WEB-INF" or "META-INF" 경고 (0) | 2020.12.08 |