스프링 ch4-2 - MyBatis로 DAO 작성하기

서현우·2022년 7월 7일
0

스프링의정석

목록 보기
79/85

ch4-2 - MyBatis로 DAO 작성하기

  • DAO 작성 순서 - DB테이블, mapper.xml, Dto, DaoImpl, extract interface, 테스트
  • DTO - 계층간에 데이터를 주고 받기 위한 객체
  • #{}와 ${}의 차이
  • XML의 특수문자 처리 - &lt;, &gt;, <!CDATA[]]>

BoardDao의 작성

  1. DB테이블 생성
    2-1. Mapper XML에 CRUD 작성.
    2-2. DTO 작성
  2. DAO 인터페이스 작성
  3. DAO 인터페이스 구현 & 테스트

DTO란? - Data Transfer Object

  • 계층간의 데이터를 주고 받기 위해 사용되는 객체
  1. @Controller
  • 요청과 응답을 처리
  • 데이터의 유효성 검증
  • 실행 흐름을 제어
  1. @Service
  • 비지니스 로직 담당
  • 트랜잭션 처리
  • 예외처리를 try-catch문으로 @Service에서 처리하거나, @Controller로 떠넘기기, 예외 되던지기 가능.
  1. @Repository
  • 순수 Data Access 기능
  • 조회, 등록, 수정, 삭제
  • 예외처리를 하지 않고 무조건 @Service로 떠넘기기

#{}와 ${}의 차이

#{title} ==> ?와 PreparedStatement를 쓰도록 바뀜.
'${title}' ==> '"+title+"', Statement를 쓰도록 바뀜. #보다 더 유연하지만 SQL Injection에 취약.

XML의 특수 문자 처리

XML내의 특수문자(>,<,&...)는 < >로 변환 필요.
또는 특수문자가 포함된 쿼리를 <!CDATA[와]]>로 감싼다.

profile
안녕하세요!!

0개의 댓글