prepare, review/스프링의 정석
MyBatis로 게시판 만들기
thesunset
2022. 12. 17. 17:39
1. MyBatis란?
: SQL Mapping Framework - Easy & Simple
: 자바 코드로부터 SQL문을 분리해서 관리
: 매개변수 설정과 쿼리 결과를 읽어주는 코드를 제거 (setString, getInt 등)
=> 작성할 코드가 줄어서 생산성 향상 & 유지 보수 편리
2-1. BoardDao 작성하기
1) DB테이블 생성
2) Mapper XML & DTO 작성
3) DAO 인터페이스 작성
4) DAO 인터페이스 구현 & 테스트
=> 하나를 조회해올 떄는 selectOne, list일 때는 selectList
2-2. DTO란? Data Transfer Object
: 계층 간의 데이터를 주고받기 위해 사용되는 객체
DB에서 꺼내서 객체에 담음 (DTO)
사용자의 요청 ** 요청할 때 필요한 내용을 DTO에 담음 |
@ controller - 요청과 응답을 처리 - 데이터 유효성 검증 - 실행흐름을 제어 |
@Service - 비즈니스 로직 담당 - 트랜잭션 처리 |
@Repository == DAO - 순수 Data Access기능 - 조회, 등록, 수정, 삭제 **DB의 내용을 DTO에 담음 |
DB |
2-3) #{}와 ${}의 차이
#{} => PreparedStatement 이용 ''자동으로
${} => Statement 이용 ''를 직접
2-4) XML의 특수문자 처리
XML내의 특수문자(<, >, &, ...)는 <, >로 변환 필요 또는 특수문자가 포함된 쿼리를 <![CDATA[와]]>로 감싼다.