Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

우주코딩

Mybatis persistence Framework, Data Persistence Framework 본문

Project

Mybatis persistence Framework, Data Persistence Framework

우주코딩 2021. 10. 20. 18:24

Mybatis persistence Framework

persistence - 지속성
framework - 기능 수행에 필요한 실행흐름을 미리 정의한 것 = 라이브러리 + 역할 수행을 위한 실행흐름

기존방식 : 자바코드 + jdbc프로그래밍 + sql
*.java 파일 중 sql을 분리하여 별도 파일로 둔다. *.xml
jdbc 프로그래밍을 캡슐화하여 분리한다 jdbc프로그래밍 라이브러리
자바 코드 -> jdbc프로그래밍 라이브러리 사용 -> xml파일의 sql 사용

실무 : 유지보수에 좋은 방향으로

Mybatis

자바코드 + jdbc코드 + sql

자바코드 , Mybatis, sql

Mybatis, sql = JDBC 코드를 캡슐화 -> 자바 코드에서 sql을 분리하여 sql 코드를 다루기 쉽고 DB처리를 간결하게

Mybatis 프레임워크의 핵심 클래스

Builder 패턴 : 여러 객체로 구성된 복잡한 구조의 객체를 생성할 때 사용하는 설계 기법
Factory Method 패턴 : 객체 생성 후 초기화시키는 과정이 복잡한 경우 사용하는 설계 기법

SqlSessionFactoryBuilder 생성
Mybatis 설정 정보에 따라 동작할 sqlsessionfactory 준비 ->
SqlSessionFactory (SQL코드가 들어있는 파일을 알고 있음) 생성
SQL을 찾아 실행할 sqlsession 객체를 생성 ->
SqlSession
JDBC 드라이버를 사용하여 SQL을 실행
파일에서 SQL을 추출하여 사용하기 쉽도록 메모리에 SQL을 로딩한다.

Data Persistence Framework

  1. SQL Mapper - SI에서 주로 사용

자바코드(개발자가 작성) -> Mybatis -> SQL (특정 DBMS에 종속 / 개발자가 작성)

  1. O-R(Object-Relation) Mapper - 자체 개발팀을 상시 운영하는 서비스업체에서 주로 사용

자바코드 (개발자가 작성) -> Hibernate -> OR매퍼 전용 문법 (DBMS에 종속되지 않는다 / 개발자가 작성) -> SQL (DBMS에 맞는 SQL로 자동 변환) -> Hibernate가 해당 Sql 사용

변환된 SQL은 개발자가 직접 작성하는 것 보다 정교함이 떨어질 수 있다.
즉, 실행 효율이 떨어진다. 대신 DBMS마다 SQL을 따로 작성할 필요가 없다.

Comments