-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JDBC 라이브러리 구현하기 - 1단계] 그레이(김동욱) 미션 제출합니다. #279
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
같은 캠퍼스였던 그레이 너무 반갑습니다 ㅎㅎ
이렇게라도 만나게 되어 기쁘네요 ㅎㅎㅎ
코멘트가 길어지면 서로 힘들어질 것 같아서 빠르게 한번 Request Changes 드립니다 ㅎㅎ
jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java
Outdated
Show resolved
Hide resolved
public List<T> extractData(ResultSet rs) | ||
throws SQLException, DataAccessException { | ||
List<T> result = new ArrayList<>(); | ||
int rowNum = 0; | ||
while (rs.next()) { | ||
result.add(rowMapper.mapRow(rs, rowNum)); | ||
rowNum++; | ||
} | ||
rs.close(); | ||
return result; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ResultSet 에서 next 메소드는 어떤 역할을 할까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
부족한 지식일 수 있지만..!! next는 현재 가리키는 행을 의미한다고 알고 있습니다 ㅎㅎ
next가 실행되면 다음 행으로 커서를 옮기고 다음 행이 없으면 false를 반환하구요 !
제가 잘못 알고 있는 내용이나 부족한 부분 있으면 말씀해주십쇼 😎 배우겠습니당
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞습니다!!
저 또한 next 가 실행되면 다음 행으로 커서를 옮기는 것으로 알고 있습니다 ㅎㅎ
ResultSet 이 next() 가 false 가 되기 전까지 계속 다음 행으로 옮기기 때문에,
rowNum count 없이 ResultSet 은 항상 다음 레코드를 바라보기 때문에 삭제가 가능할 부분이 아닐까 생각했습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오,, 그렇네요 ㅎㅎ
이전 체스미션, 장바구니 미션을 진행할 때 (rs, rowNum) -> {} 으로 관습적으로 만들던대로 작성했었네요,,,
스프링의 RowMapper에는 rowNum을 파라미터로 받고 있어서 왜 받을까 생각을 해봤는데, resultSet에서 명확히 반환할 개수가 정해져있는 경우에 사용하고 있더라구요 !
현재 저희 미션에서는 그런 경우가 없기 때문에 우가가 말씀해주신대로 삭제하는 방법을 선택했습니다 ㅎㅎ
필요할 때 추가해서 구현하는게 옳은 방향이라는 생각이 드네요 !!!
꼼꼼한 리뷰 넘 감사함돠 👍
public List<T> extractData(ResultSet rs) | ||
throws SQLException, DataAccessException { | ||
List<T> result = new ArrayList<>(); | ||
int rowNum = 0; | ||
while (rs.next()) { | ||
result.add(rowMapper.mapRow(rs, rowNum)); | ||
rowNum++; | ||
} | ||
rs.close(); | ||
return result; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞습니다!!
저 또한 next 가 실행되면 다음 행으로 커서를 옮기는 것으로 알고 있습니다 ㅎㅎ
ResultSet 이 next() 가 false 가 되기 전까지 계속 다음 행으로 옮기기 때문에,
rowNum count 없이 ResultSet 은 항상 다음 레코드를 바라보기 때문에 삭제가 가능할 부분이 아닐까 생각했습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요 그레이!
제가 요청 드린 부분들을 알고가면 정말 좋을 것 같아서 요청 드렸는데,
정말 열심히 공부해주신 것 같아서 감사합니다 ㅎㅎㅎ
이번 단계는 머지하도록 하겠습니다. 다음 단계에서 재밌게 얘기 나눠봐요 ㅎㅎㅎ
안녕하세요 우가 ㅎㅎ 잘 지내시나요?!
미션 커밋 범위 남겨놓을게요 !
이번 미션 리뷰 잘 부탁드려요 🙇🏻