Spring

Spring - Mybatis

정숙씨의 쏠쏠한 코딩 2021. 11. 22. 23:10
  • Mybatis 사용 이유
    • 애플리케이션이 기능이 복잡해짐에 따라 기존의 JDBC로 개발하지 않게되었다
    • 기존JTBC로 개발 할 경우 반복적으로 구현해야할 쿼리문도 많을 뿐만 아니라 쿼리문도 복잡해진다.
    • 자연스럽게 마이바티스(Mybatis)나 하이버 네이트 같은 데이터베이스 연동 관련 프레임 워크가 등장 하게 되었다.
  • Mybatis 프레임워크 특징
    • 쿼리문 실행 결과를 자바 빈즈 또는 Map객체에 매핑 해주는 Persisitence 솔루션으로 관리한다. 즉, 쿼리문을 소스코드가 아닌 XML로 분리한다.
    • 쿼리문과 프로그래밍 코드를 분리해서 구현한다.
    • 데이터소스(DataSource) 기능과 트랜잭션 처리 기능을 제공한다.
  • Mybatis이용한 회원 기능 실습
    • SqlMapConfig.xml
      • 데이터베이스 연동시 반환되는 값을 저장할 빈이나 트랜잭션, 데이터 소스등 마이바티스 관련 정보를 설정하는 xml

  • <typeAlias>태그
    • 애플리케이션에서 SQL문으로 값을 전달 하거나 마이바티스에서 DBMS로 SQL문 실행시 반환되는 레코드를 저장하는 용도로 사용 하기 위한 빈인 VO 빈을 생성한다.
  • <dataSource> 태그
    • Mybatis가 연동하는 데이터베이스에 대한 데이터 소스를 설정한다.
  • <mappers> 태그
    • 마이바티스에서 사용하는 Sql 문이 있는 xml파일의 위치를 지정
  • member.xml
    • <mapper> 태그
      • 다른 파일의 SQL문과 구별 하기 위해 namspace 지정
    • <select> 태그
      • 쿼리문 실행 및 반환 되는 레코드를 저장 하기 위한 태그
      • resultMap -> 1개 이상의 레코드가 있을시 사용 하는 태그
    • 회원정보 조회 실습
      •  MemberDAO
      • MemberServlet
      • MemberVO