공부한것들을 정리하는 블로그 입니다.
5. 스프링 JDBC : JDBCUtil을 스프링JDBC로 교체, RowMapper 추가 본문
5. 스프링 JDBC : JDBCUtil을 스프링JDBC로 교체, RowMapper 추가
호 두 2019. 6. 19. 10:05
스프링 JDBC를 이용하면 DB연동에 필요한 자바코드를 스프링에서 대신 처리해주고, 개발자는 실행되는 SQL 구문만 관리할 수 있기 때문에 개발과 유지보수가 훨씬 편해질 수 있습니다.
스프링은 JDBC 기반의 DB연동 프로그램을 쉽게 개발할 수 있도록 JdbcTemplate클래스를 지원합니다.
1. 라이브러리 추가
2. DataSouce 설정 추가
기왕 만들거 프로퍼티 파일을 활용하도록 작성합니다.
스프링 JDBC를 위한 기본설정이 마무리됐으면 이제 JdbcTemplate 객체를 이용하여 DB연동을 간단하게 처리할 수 있습니다.
queryForObject() 메소드는 SELECT 구문의 실행 결과를 특정 자바 객체로 매핑하여 리턴받을 때 사용합니다. 참고로 queryForObject() 메소드는검색결과가 없거나 혹은 검색결과가 2개 이상일 경우 예외가 발생합니다.
글 상세조회 기능에 queryForObject() 메소드 적용
3. RowMapper 클래스를 이용하여, 검색결과를 특정 VO객체에 매핑하여 리턴.
검색결과를 특정 VO 객체에 매핑하여 리턴하려면ㄴ RowMapper 인터페이스를 구현한 RowMapper 클래스가 필요합니다.
queryForObject() 메소드가 SELECT 문으로 객체 하나를 검색할 때 사용하는 메소드라면(글 상세목록 조회 기능),
query() 메소드는 SELECT 문의 실행결과가 목록일 때 사용합니다.(글 전체목록 조회 기능).
기본 사용법은 동일합니다. VO객체에 매핑하려면 RowMapper객체를 사용하는것 잊지말자.
검색된 데이터 ROW 수만큼 RowMapper 객체의 mapRow() 메소드가 실행됩니다. 그리고 이렇게 ROW 정보가 매핑된 VO객체 여러 개가 List 컬렉션에 저장되어 리턴됩니다.
'(2019) 사이드 프로젝트 > BoardWeb(게시판-MVC1,MVC2,스프링MVC)' 카테고리의 다른 글
7-1. 로그인, 로그아웃, 로그인 검증 및 실패 후처리 : login.jsp, login_proc.jsp, logout_proc.jsp (3) | 2019.06.24 |
---|---|
7. MVC Model1 아키텍처로 게시판 개발 : web.xml, representation-layer.xml, index.jsp (0) | 2019.06.20 |
6. 트랜잭션 처리 : 스프링 AOP Advisor 사용 (0) | 2019.06.19 |
5-1. DAO클래스 구현 : JdbcDaoSupprot 클래스를 상속하는 방법, JdbcTemplate 클래스를 <bean> 등록하고, 의존성 주입으로 처리하는 방법 (0) | 2019.06.19 |
4-4. 별첨) 프로젝트 첨부 (0) | 2019.06.19 |
4-3. 시스템로그를 로그파일(.log)로 자동저장하기: log4j (0) | 2019.06.18 |
4-2. 관심분리(횡단관심) : LogAdvice를 Log4Advice로 교체, pointcut엘리먼트 사용, XML설정을 Annotation설정으로 교체 (0) | 2019.06.17 |
4.1 oracle error 해결 : Socket read interrupted, Authentication lapse 0 ms. (0) | 2019.06.17 |