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
Tags
more
Archives
Today
Total
관리 메뉴

노승현

MyBatis (1) 본문

Spring

MyBatis (1)

nsh95 2024. 3. 26. 08:43

MVC 파트 분배해서 팀 작업.

“회원가입” 기능

 

M DB

-

V 사용자 입력 UI / UX

C M-V 이어주는 역할

  • “제 자리에서 유효성을 검사하는 것” 이 중요한 이유는?
  • Controller까지 거쳐가지 않기 때문에 서버 비용을 줄일 수 있기 때문에 중요하다!!

 

✅ MVC 별로 나누기 보다는 기능별로 나눠서 역할을 부여하는 곳이 만다.

본인 스스로가 MVC 파트 별로 구분지어 일하지 못 하면 살아남기 힘들어진다.

 

 

📌 데이터베이스 접근 관리의 진화 과정 (model 파트)

 

버전 1 : JDBCUtil 클래스를 생성

초기에는 JDBC를 사용하여 데이터베이스에 접근했다.

이때 JDBCUtil 클래스를 생성하여 JDBC 관련 기능알 한 곳에 모아 응집도를 높였다.

► JDBC 응집도를 높이기 위해 JDBCUtil 클래스를 생성

 

 

버전 2 : 오라클에서 MySQL로 이관 작업

오라클에서 MySQL로 DMBS를 변경하는 작업(이관 작업)을 진행했다.

이러한 작업은데이터베이스 시스템 전환 또는 업그레이드를 수행할 때 진행한다.

► DBMS를 변경하는 작업

 

 

버전 3 : JDBCTemplat 템플릿 패턴 도입

복잡하거나 반복되는 작업을 템플릿화 해둔 객체를 사용하는 ‘템플릿 패턴’을 추가(도입)했다

JDBC 코드에서 발생하는 반복적입 작업들을 템플릿화하여 개발자가 더 간편하게 데이터베이스에 접근할 수 있도록 한다.

► JDBCTemplate 템플릿 패턴

 

버전 4 : MyBatis 프레임 워크 도입

MyBatis 프레임워크는 JDBC 코드에서 발생하는 번거로움을 해소하기 위해 도입되었다.

: JDBC 코드에서 발생하는 번거로움 

► SQL문이 JAVA 코드에 작성되어 있다. SQL문이 변경될 경우 재 컴파일을 해야한다.

    A를 바꿀 경우 B도 같이 바꿔줘야 하는 상황일 때…

>> 결합도가 높다! 응집도가 낮다!라고 한다.

     ► 이를 위해 응집도를 높여야 한다!  == 파일을 분리해야 한다.

 

MyBatis는 SQL문을 .xml 파일에 작성하고, 이를 설정으로 불러와 사용한다.

이렇게 함으로써 SQL과 JAVA 코드를 분리하여 응집도를 높이고, 

SQL 변경 시 에도 JABA 코드르르 다시 컴파일할 필요가 없도로고 한다.

 

► SQL문이 JAVA 코드에 작성되어 있음

► SQL문에 변경이 발생되었을 때, 재 컴파일 해야하만 한다.!
➡︎ A를 바꿀 경우 B도 같이 바꿔줘야 하는 상황일 때

결합도가 높다! 응집도가 낮다!라고 한다

► 응집도를 높여야 한다! == 파일을 분리해라!

► SQL문을 .JAVA 파일 외부에 작성하자!!
== 프레임 워크 설정 파일을 .xml에 작성하자!

MyBatis 프레임 워크의 설정파일

== SQL을 저장하는 파일

== mapper.xml

 

 

📌 MyBatis 프레임워크의 설정 방법과 이점

  1. 응집도 높이기 : 

SQL을 별도의 .xml 파일에 작성함으로써 자바 코드와 SQL문을 분리한다.

이는 코드의 응집도를 높여 유지 보수성을 높이고 개발자가 관련 기능에 집중할 수 있도록 한다.

  1. 결합도 낮추기 : 

SQL문이 .xml 파일에 작성되어 있기 때문에 SQL문을 변경할 때

JAVA 코드를 다시 컴파일할 필요가 없다. 

이는 시스템의 전반적인 유지 보수를 간편하게 만들어 유지 보수성을 높인다.

  1. id 개념 도입 :

MyBatis에서는 각 SQL문에 고유한 id를 부여한다.

이를 통해 SearchCondition고 같은 별도의 객체 없잉도 각 SQL문을 유일하게 식별할 수 있다.

이는 코드의 가독성과 유지 보수성을 높인다.

 

📌 MyBaits의 장점 정리

분리된 SQL : 

  • SQL문을 .xml 파일에 작성함으로써 JAVA 코드와 분리하여 응집도를 높인다.

유지보수 용이성 : 

  • SQL문을 변경하할 때 JAVA 코드를 다시 컴파일할 필요가 없어 결합도를 낮춘다.

고유한 식별자(id) :

각 SQL문에 고유한 id가 부여되는 SearchCondition과 같은 별도의 객체 없이도 SQL문을 식별할 수 있다.

 

Mybatis 프레임 워크를 활용하면

1. 응집도를 높일 수 있음

SQLdms .xml에 JAVA는 .java에 작성할 수 있음

2. 결홥도를 낮출 수 있음

SQL을 변경해도, JAVA 재컴파일이 필요없음

3. id 개념이 생겨서 SearchCondition이 필요없음

 

이렇듯 MyBatis 프레임워크를 사용하면 코드의 가독성과 유지 보수성을 향상시킬 수 있으며,

데이터베이스 접글 관련 작업을 효율적으로 관리할 있다.

'Spring' 카테고리의 다른 글

myBatis 로 필터검색 이관하기  (0) 2024.04.10
Validator  (0) 2024.03.13
Spring Controller 변환 과정  (0) 2024.03.12
Spring 통합 질문  (0) 2024.03.08
Spring 이관 및 boot 실행  (0) 2024.03.08