ToBe끝판왕

[ 프로젝트 ] SpringBoot 게시판( MyBatis 프레임워크 적용 ) 본문

■ 프로젝트/팀프로젝트 수정 2

[ 프로젝트 ] SpringBoot 게시판( MyBatis 프레임워크 적용 )

업그레이드중 2022. 6. 14. 17:46
반응형

 


 

Mybatis 프레임워크

 

•  자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크이다.

•  JDBC를 통해 데이터베이스에 액세스 하는 작업을 캡슐화 / 일반 SQL 쿼리 / 고급 매핑을 지원하며

    JDBC 코드 및 매개변수의 중복작업을 제거

•  MyBatis에서는 SQL 쿼리들을 한 구성파일( mapper.xml )에 구성하여 프로그램 코드와 SQL을 

    분리하여 관리가 용이하게 만든다.

•  Hibernate나 JPA( Java Persistence Api )처럼 새로운 DB 프로그래밍 패러다임을 익혀야 하는 부담 없이

   기존 SQL을 그래도 이용하면서 JDBC코드 작성의 불편함도 제거해주고 도메인 객체나 VO객체를

   중심으로 개발이 가능하다는 장점이 있다.

 

 

▶  Mybatis 특징

•  쉬운 접근성과 코드의 간결함

   -  JDBC의 모든 기능을 MyBatis가 대부분 제공한다.

   -  복잡한 JDBC코드를 걷어내어 깔끔한 소스 코드를 유지할 수 있다.

 

•  SQL문과 프로그래밍 코드의 분리

   -  SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 된다.

   -  SQL 작성과 관리 / 검토를 DBA 같은 개발자가 아닌 다른 사람에게 맡길 수도 있다.

 

•  다양한 프로그래밍 언어로 구현 가능하다.

 

 

 

▶  Mybatis 아키텍처

    DB vender에서 제공하는 JDBC Driver가 있다.

   JDBC만을 사용하는 애플리케이션은 Application Modules에서 JDBC Interfaces를 바로 호출하지만

   JDBC Api를 감싸서 개발자가 조금 더 편리하게 접근할 수 있도록 도와주는 것이  Mybatis이다.

 

 

 

▶  Mybatis 사용 데이터 액세스 계층

•  Mybatis는 Data Access Layer에서 사용하는 프레임워크이다.

•  Controller에서 Service를 호출하고, Service가 DAO계층에 있는 메서드를 호출하면

    DAO에서 Mybatis를 호출한다.

 

 

 

▶  Mybatis 주요 컴포넌트

•  SqlSession Factory Builder , SqlSession Factory , SqlSession 이 있다.

•  Mybatis Config File을 XML 파일로 작성하고, 보라색 부분들만 개발자가 작성하면 된다.

•  Application에서 SqlSession Factory Builder를 호출, SqlSession Factory Builder가 Config File을 읽고

   Factory를 생성해준다.

•  개발자가 DB에 Insert 하거나 Read 하는 메서드를 호출하면 SqlSession Factory가 SqlSession을 생성하고

    개발자가 작성한 Application 코드에 반환해준다.

•  SqlSession은 개발자가 작성한 SQL문을 호출해주는 기능을 해준다고 생각하면 된다.

 

 

 

▶  Mybatis - Spring 주요 컴포넌트

•  Mybatis 설정 파일( SqlMapConfig.xml ) :VO 객체의 정보를 설정한다.

•  SqlSessionFactory : Mybatis 설정 파일을 바탕으로 SqlSessionFactory를 생성한다. ( Spring Bean으로 등록 )

•  SqlSessionTemplate : 핵심적인 역할을 하는 클래스, SQL 실행이나 트랜잭션 관리를 실행한다.

                                           SqlSession 인터페이스를 구현, Spring Bean으로 등록해야 한다.

•  Mapping 파일(. xml ) :  SQL문과 OR Mapping을 설정한다.

•  Spring Bean 설정 파일( MybatisBeans.xml ) : SqlSessionFactoryBean을 Bean 등록할 때 DataSource 정보와

                                                                                 MybatisConfig 파일 정보, Mapping 파일의 정보와 함께 설정한다.

                                                                                 SqlSessionTemplate을 Bean으로 등록한다.

 

 

 

▶  프로젝트 GitHub 연동

Mybatis에 대해서 알아봤으니, MyBatis 프레임워크를 적용할 프로젝트를 GitHub와 연결한다.

연결 방법은 전에 올린 게시물을 참고하면 된다.

 

https://baby9235.tistory.com/77

 

[ GITHUB ] GitHub 저장소에 프로젝트 연결( vue.js + SpringBoot ) , Git 명령어( Git Bash )

GitHub와 프로젝트 연결 추가로 진행하는 프로젝트에서 필자는 프론트엔드와 백엔드를 분리하였다. •  vue 프로젝트는 Visual Studio Code로 Vue.js 프레임워크를 이용하여 만든다. • camper 프로젝트

baby9235.tistory.com

 

 

 

 

반응형
Comments