Today I Learned - 39
Spring - 3
- 스프링 JDBC
- 마이바티스 프레임워크
스프링 JDBC
- 스프링에서 제공하는 JDBC 특징
- 기존 JDBC 장점 유지 및 단점 보완
- 간결한 API + JDBC 기능 제공
실제 개발 진행 때는 스프링 JDBC보다는, 마이바티스 or 하이버네이트 사용
마이바티스 프레임워크 사용하기
- 등장 배경(기존 JDBC의 문제점)
- SQL문이 프로그래밍 코드에 섞여서 코드 복잡
- 유지/보수 어려워짐
- 마이바티스란,
- RDBMS 프로그래밍을 좀 더 쉽게 작업하도록 도와주는 개발 프레임워크
- JDBC 통해 DB 접근하는 작업 캡슐화
- SQL 쿼리, 고급 매핑 등 지원
- JDBC 코드 및 매개 변수의 중복 제거
- 프로그래밍 코드와 SQL문 분리
- RDBMS 프로그래밍을 좀 더 쉽게 작업하도록 도와주는 개발 프레임워크
- 마이바티스 주요 구성요소
구성요소 | 설명 |
---|---|
MyBatis configuration file | MyBatis의 작업 설정(DB연결 대상, 매핑 파일 경로 등)을 설명하는 xml 파일 |
SqlSessionFactoryBuilder | MyBatis 구성파일 읽고 생성 |
SqlSessionFactory | SqlSession 생성 |
SqlSession | SQL 실행 및 트랜잭션 제어를 위한 API 제공 |
Mapper interface | 매핑 파일에 정의된 SQL문을 호출 |
Mapping file | SQL 및 매핑 설정을 설명하는 xml 파일 |
- 마이바티스 동작 과정
- (1) SqlMapConfig.xml에 각 기능별로 실행할 SQL문을 SqlMap.xml에 미리 작성한 후 등록
- (2) 애플리케이션에서 데이터베이스와 연동하는 데 필요한 데이터를 각각의 매개변수에 저장한 후 마이바티스에 전달
- (3) 애플리케이션에서 요청한 SQL문을 SqlMap.xml에서 선택
- (4) 전달한 매개변수와 선택한 SQL문을 결합
- (5) 매개변수와 결합된 SQL문을 DBMS에서 실행
- (6) DBMS에서 반환된 데이터를 애플리케이션에서 제공하는 적당한 매개변수에 저장한 후 반환
- 실습이 많았음.. 수업자료 복습하도록!
Spring 과제 - PDF 자료 실습
- 범위
- 수업자료 22 ~ 23장
-
기한: ~6/19(일)
- 과제 예시
- 수업자료 참고, 프로젝트 추가 생성
ex.
Spring_pro19_Homework
- lib 자료 copy
- xml 파일 복습
ex.
<bean>
요소 변경 or 추가 - 각 코드 복습
교재 참고, 예제 추가로 작성
- 수업자료 참고, 프로젝트 추가 생성
================================
- 기본 과제
- 22장, 23장 한 번 더 따라하기
- Spring_pro22_Homework
- Spring_pro23_Homework
- 22장, 23장 한 번 더 따라하기
- 추가 과제 (.war 파일로 export)
- 23장, 수업자료 47페이지
- member.xml 파일 > insert 부분
- joinDate 요소 추가 후 listMembers 조회 시 잘 나오도록
- 추가 과제 상세
- ex01 - MemberVO.java - java.util.Date 임포트
- ex04 - MemberServlet - “insertMember” 부분 - LocalDateTime 클래스 이용, 현재 시간 적용되도록 추가
- 날짜 표시양식 무관!
nice!