[7] 스프링(Spring Tools 4) DB : 회원목록 만들기
회원목록 만들기 필수 인터페이스 : RowMapper
: DB로부터 가져오는 결과를 받는 인터페이스이다. 즉, DB로부터 가져오는 결과를 메서드로 뽑아내서 나중에 rs를 포함하고 있는 녀석이다. 따라서, 인터페이스이므로 반드시 구현해줘야한다.
*update 메서드와 query / qureryForObject 메서드 차이 - update() 메서드 : insert/update/delete는 실제 database가 변경되므로 update 메서드를 사용. 결과(메서드의 리턴값)는 역시나 int이다 - query() / qureryForObject() 메서드 : select일 경우에는 사용하는 메서드가 2종류이다. 1) query() : Servelt에서 Vector<Dto>와 같은 타입으로 처리가능하다. (db에서 여러 줄을 가져올 때 사용) 2) qureryForObject() => Servelt에서 Dto와 같은 타입으로 처리가능 (db에서 한 줄만 가져올 때 또는 한 컬럼) JdbcTmp에는 select의 각 메서드의 결과를 DTO 객체로 받을수 있도록 만들수 있다. RowMapper 인터페이스 이며 이 인터페이스를 구현하면 결과를 DTO 타입(객체 자체로 )으로 받을 수 있다. |
JdbcTmp에는 select의 각 메서드의 결과를 DTO 객체로 받을수 있도록 만들수 있다.
RowMapper 인터페이스이며 이 인터페이스를 구현하면 결과를 DTO 타입(객체 자체로)으로 받을 수 있다.
1. RowMapper만들기(SpMemberDAO.java)
// 1-1. RowMapper 구현
// inner class
class MemberMapper implements RowMapper<SpMemberDTO>{
@Override
public SpMemberDTO mapRow(ResultSet rs, int rowNum) throws SQLException {
// 1-2. 빈 생성자 만들기 (SpMemberDTO.java) private String name; private String email; public SpmemberDTO() {} |
// 1-3. SpMemberDTO 객체 만들기
SpMemberDTO dto = new SpMemberDTO();
dto.setIdx(rs.getInt("idx")); // rs가 매개변수로 있으므로 getInt("idx")해서 idx를 뽑아온다. 1째줄이라 숫자1 써도 된다.
dto.setId(rs.getString("id"));
dto.setPw(rs.getString("pw"));
dto.setName(rs.getString("name"));
dto.setEmail(rs.getString("email"));
// rs.next()필요없이 한 줄에 대해서 처리할 수 있는 RowMap만 설정하면된다.
return dto; // 이렇게 만들어진 결과를 dto로 가져오고 이것을 리턴해준다.
}
}
'IT I 프로그래밍 > 자바 I 스프링 DB' 카테고리의 다른 글
[6] 스프링(Spring Tools 4) DB : 회원가입 만들기 (0) | 2021.10.23 |
---|---|
[5] 스프링(Spring Tools 4) DB : 데이터베이스에 값 넣기 테스트 (0) | 2021.10.22 |
[4] 스프링(Spring Tools 4) DB : home.jsp에서 Dto사용 (0) | 2021.10.22 |
[3] 스프링(Spring Tools 4) DB : HomeController에서 DAO 사용 (0) | 2021.10.22 |
[2] 스프링(Spring Tools 4) DB : DAO파일 만들기 (0) | 2021.10.19 |