티스토리 뷰

∙기술 단어

Mybatis

coor 2020. 7. 29. 19:51
1. Mybatis ??

Spring MVC에 대해 구글링하다가 Mybatis를 본적이 있다. 
"이게 뭐지?" 궁금증과 동시에 OKKY 에서 Mybatis를 사용하는 이유에 대해 질문하는 글이 올라왔다.

 

그래서 알아보았다.

Mybatis를 알기 전 JDBC라는 개념부터 알아야한다.
JDBC는 Java에서 DB와 연동하기 위해서 사용하는 API 이다.

JDBC = DB 연동은 필수이다.

이 JDBC만 사용해서 DB 쿼리문을 작성하면 
Java 소스와 쿼리 소스가 난장판이 되어 관리가 어려워진다.

이 때 사용하는 것이 Mybatis 이다.
Mybatis는 SQL 쿼리문을 .xml 형식의 파일로 분리시켜 많은 장점을 일으킨다.

1. 저장 관리할 수 있다.
2. 복잡한 코드를 걷어내어 깔끔한 소스코드를 유지할 수 있다.
3. 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다.

 

2. 소스 방식

* Mybatis 없을 때 소스

4번째 줄에 StringBuffer 라는 클래스를 호출해 sql 이라는 객체를 만들어 sql query를 작성하고 있다.
작성 된 쿼리에 다른 메소드의 파라미터로 넘기고 리턴하고 있다.
이러한 방식은 보완 또는 수정할 경우 유지보수가 힘들고 .append() 메소드를 추가하여 
sql query 구문의 분리가 어려워진다.

 

* Mybatis 있을 때 소스

두 개의 소스를 비교했을 때 차이점이 눈에 확 띈다. 

xml로 빼내서 쿼리문으로 작성하면 복잡한 코드가 줄어드는 것을 확인할 수 있다.

ENTITY id 값을 통해 쉽게 호출할 수 있고 저장 관리가 쉬워진다.

 

'∙기술 단어' 카테고리의 다른 글

PRTG  (0) 2021.06.14