티스토리 뷰

JAVA

[JAVA]Mybatis

rangrangerang 2019. 7. 5. 12:02


PART 1

JDBC(Java Database Connectivity)

  • DB에 접근할 수 있도록 JAVA에서 제공하는 API
  • DB연결부터 쿼리 실행 트렌젝션 관리까지 모두 지원하는 라이브러리


PART 2

Mybatis

  • JDBC에 종속된 라이브러리
  • JDBC를 보다 편하게 사용하기 위해 개발

1# MyBatis 특징

  • SQL문이 코드로부터 완전히 분리 : 기존에는 DAO파일에 모든 SQL문을 작성했다. 하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO파일에서 필요할 때마다 가져와서 사용할 수 있다.
  • 생산성 : 코드가 짧아진다.
  • 유지보수성 향상 : Mapper파일에만 SQL코드를 입력하고 나중에 SQL코드를 변경할 때 이곳에서 유지보수만 하면, DAO에서는 아무런 영향을 받지 않는다.

2# MyBatis 구성
  • MyBatis환경설정 파일(mybatis-config.xml) : MyBatis가 JDBC 코드를 실행하는데 필요한 전반에 걸친 세팅을 한다.
    - TypAlias 설정 : 사용할 모델 클래스에 대한 별칭 설정 <typeAlias>
    - DB연동을 위한 설정 : Database에 어떻게 접속할 것인지에 대한 설정 <enviroment>
    - Mapper설정 파일 등록 : 매핑 설정이 어디있는지 <mapper>

  • Mapper 설정 파일(UserMapper.xml) : SQL문과 관련된 설정을 하는 파일로서 MyBatis 설정파일(mybatis-config.xml)에 등록해야함
    - 주요 구성 요소
        1) SQL문 등록 태그
            - SQL문 태그의 구성요소 : Parameter, Result, SQL문 등록
            - SQL태그 : insert, delete, update, select
            - 공통 SQL문 설정 태그 : <sql>
        2) select 결과 처리 설정
            - <resultMap>


MyBatis 작성 예시1

MyBatis 작성 예시2

[References] https://gmlwjd9405.github.io/2018/12/25/difference-jdbc-jpa-mybatis.html https://m.blog.naver.com/PostView.nhn?blogId=wwwkang8&logNo=220989381100&proxyReferer=https%3A%2F%2Fwww.google.com%2F https://jins-dev.tistory.com/entry/MyBatis-%EB%9E%80

댓글