inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

JdbcTemplate와 RowMapper질문

해결된 질문

378

코더

작성한 질문수 20

0

public Optional findById(Long id) {

List result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id);

return result.stream().findAny(); }

 

private RowMapper memberRowMapper() {

return (rs, rowNum) -> { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name"));

return member; }; }

 

이 두 함수가 이해가 안되서 질문드립니다 ㅠ rs가 정확히 무엇인지 그리고 memberRowMapper()은 member객체를 반환하는데 어떻게 List로 받을수 있는지 궁금합니다

spring java mvc MVC spring-boot

답변 1

2

OMG

안녕하세요. 코더님, 공식 서포터즈 OMG입니다.
query()의 반환 타입이 List입니다. SELECT의 결과가 1건이 아닌 다수가 발생할 수 있기 때문에 List는 자명합니다.

memberRowMapper()의 경우 자바의 문법인 람다식을 학습하셔야 이해가 되실텐데요.

텍스트로 설명드리기엔 프로그래밍 경험이 많지 않다면 제가 설명드리는 텍스트 만으로는 힘드실거라 생각하여 별도 자료(구글 검색, 유튜브, 인강, 책 등)으로 학습하신 후 코드를 다시 보셨을 때 이해가 안되는 부분을 질문 남겨주시면 답변 드리겠습니다.


감사합니다.

0

코더

구글링을 해서 이해가 되었습니다 감사합니다 ㅎㅎ

..

0

76

2

Unused property.....

0

100

2

project JDK is misconfigured

0

132

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

83

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

230

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

103

2

윈도우 build test오류 질문

1

102

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

100

2

테스트 실행 시 에러 질문

0

291

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

129

1

윈도우 gradlew.bat 에러

0

167

1

@PostMapping("/members/new")가 동작하지 않습니다

0

89

1

java static class와 kotlin class

0

79

1

스프링 DB연결

0

126

1

소요 시간

0

87

2

ddl.sql에 빨간 밑줄

1

102

2

welcome page 에러

0

183

3

잘 모르겠습니다.

0

164

2

fail을 똑같이 쳤는데 오류가 발생해요

0

156

2

index.html Welcome page

0

124

1

프로젝트 gradle-groovy ?

0

369

1

테스트코드 메서드명 한글

0

202

2