-
[Spring]MybatisBackend/Spring 2022. 1. 6. 16:54
Mybatis 개요와 특징
- Mybatis는 Java Object와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM Framework
- Mybatis는 SQL을 별도의 파일로 분리해서 관리(대표적 쿼리문이 Xml로 갑니다)★
Object - SQL 사이의 parameter mapping 작업을 자동으로 해줌. - Mybatis를 공부할 때 책 보다는 기술문서인 https://mybatis.org/mybatis-3/ko/index.html 를 추천드립니다.
특징
- 쉬운 접근성과 코드의 간결함
- 가장 간단한 persistence framework
- xml형태로 서술된 JDBC 코드라 생각해도 될 만큼 JDBC의 모든 기능을 Mybatis가 대부분 제공
- 복잡한 JDBC 코드를 걷어내며 깔끔한 소스코드를 유지
- 수동적인 parameter 설정과 Query 결과에 대한 mapping 구문을 제거
- SQL문과 프로그래밍 코드의 분리
- SQL에 변경이 있을 때 마다 자바 코드를 수정하거나 컴파일 하지 않아도 됨
Mybatis에서의 # $ 차이점 조사하기
가장 큰 차이는 preparedStatement 와 Statement 의 차이점이라 보면된다 (쉽게 동적 과 정적의 차이)
#의 경우 파라미터가 String 형태로 들어와 ㅏ동적으로 '파라미터' 형태가 됩니다. ( ? 이런식)
예시는, #{id} 의 id의 값이 asd라면 쿼리문에는 id='asd'의 형태가 됩니다.$의 경우는
파라미터가 바로 출력이 됩니다.
해당 칼럼의 자료형에 맞추어 파라미터의 자료형이 변경이 진행됩니다.
Mybatis설정
alias ,mapper설정
# Mybatis Setting
mybatis.type-aliases-package=com.ssafy.backend.**.model별도의 model이름을 alias를 지정하지 않아도 그대로 클래스명으로 받아서 실행합니다.
mybatis.mapper-locations=mapper/*.xml
mapper를 설정할 때에 src/main/resources/mapper/에 모두 넣어서 이렇게 설정하였습니다.
여기서 경로를 설정할 때에 * ** 나오게 되는데 이 둘의 가장 큰 차이는 파일과 폴더라고 보시면 됩니다.
'Backend > Spring' 카테고리의 다른 글
[Spring] 스프링 핵심원리 _예제 만들기 (0) 2022.02.14 [Spring]스프링 핵심 원리_객체 지향 설계와 스프링 (0) 2022.02.13 [Spring]Di에 대한 설명 (0) 2022.02.06 [Spring]AOP (0) 2021.12.01 [Spring]스프링특징_DI (0) 2021.11.30