일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html
- 개발자
- mybatis
- 리눅스
- scanner
- Git
- where
- sql문
- 형변환
- Java
- MySQL
- 프로그래머스 SQL
- 스프링
- SQL
- 자바
- 프로그래머스 sql 고득점 kit
- DML
- 메서드
- String클래스
- github
- JavaScript
- 정보처리기사필기요약
- order by
- 클래스
- 데이터 조회
- 입출력
- 백엔드
- 프로그래밍
- 알고리즘
- Linux
- 예외처리
- 백준
- StringBuilder
- BufferedReader
- 웹개발
- 자바스크립트
- 정보처리기사
- select문
- 프론트엔드
- select
- Today
- Total
ToBe끝판왕
[ 프로젝트 ] SpringBoot 게시판( MyBatis 프레임워크 적용 ) 본문
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
'■ 프로젝트 > 팀프로젝트 수정 2' 카테고리의 다른 글
[ 프로젝트 ] AWS EC2 인스턴스 생성 , 탄력적 IP 추가 (0) | 2022.06.27 |
---|---|
[ 프로젝트 ] JSTL 의 기본 개념 및 사용 방법 (0) | 2022.06.21 |
[ 프로젝트 ] Mybatis 프레임워크 게시판 적용 (2) (0) | 2022.06.21 |
[ 프로젝트 ] Mybatis 프레임워크 게시판 적용 (1) (0) | 2022.06.15 |