먼저 MyBatis는 저번의 Servlet 통신을 이용하여 DataBase 조회 방법이 매우 간단해진다.


XML 파일을 이용하여 간편하게 데이터를 조회하고 심지어 페이징 처리도 깔끔하게 가능하다.


이번 MVC 패턴의 폴더구조가 조금 바뀌는데 한번 확인해보자.


Spring Framework 형태에 맞추며 나중에 이해하기 쉬울 것 이다.







주목할 부분은


1. Model 부분의 Exception 추가(링크)


2. Model 부분의 Service 인터페이스 추가(링크)


3. FrontController를 통한 페이지 맵핑 처리(링크)


4. SQL 쿼리를 관리하던 Property 파일이 사라지고 XML 파일로 관리(링크)


5. web 아래에 resources 폴더를 추가하여 css image js uploadfile 등을 관리


6. view 파일들이 전부 WEB-INF 아래로 이동


6가지이다.










1. Model 부분의 Exception 추가(링크)



데이터 조회 시 오류 발생 시 커스텀 Exception을 이용하여


try catch 문에서 오류 페이지로 이동시켜준다.






2. Model 부분의 Service 인터페이스 추가(링크)



Service 부분에서 Interface를 이용하여 Service에 정의 할 메소드를 제한시키는 것.


Framework의 특징으로 미리 틀을 만들어 두는 느낌으로 이해하면 된다.


원래는 Dao에도 적용해야 한다.





3. FrontController를 통한 페이지 맵핑 처리(링크)



모든 맵핑 링크가 FrontController를 거치고 작업을 한 후


해당 서블릿으로 이동된다, 프로젝트의 규모가 커저도 페이지 관리가 편해진다.






4. SQL 쿼리를 관리하던 Property 파일이 사라지고 XML 파일로 관리(링크)



Mybatis의 핵심 기능으로 DB를 사용하기 매우 간편해진다.






5. web 아래에 resources 폴더를 추가하여 css image js uploadfile 등을 관리



핵심 파일들과 떨어뜨려 한 눈에 보기 편하게 관리






6. view 파일들이 전부 WEB-INF 아래로 이동









항목별로 설명이 필요한것은 새로 포스팅 합니다.







먼저 MyBatis jar파일을 라이브러리에 추가한다.


메이븐이라는 사이트를 이용


mvnrepository.com


메이븐은 나중에 나오지만 라이브러리들의 버전을 관리해주고 프로젝트 관리를 해주는 시스템? 이라고 한다.


위 사이트로 들어가 상단 검색창에 mybatis를 검색하자.








리스트에 나온 MyBatis를 클릭하고







해당 화면이 나오는데 여태껏 나온 버전별로 쭉 나온다.


버전별로 이용률도 한눈에 확인 할 수 있다.(Usages)


버전의 경우 X1.X2.X3 과 같은 형태로 관리된다.


X1의 경우는 하위 버전과 호환이 안되고 매우 크게 변화가 있는 경우이고


X2의 경우는 하위 버전과 호환이 되지만 일부 오류가 있을 수 있다.


X3의 경우는 보통 버그 픽스나 간단한 수정 등 작은 변경시 기록된다.




신버전은 항상 최신이여서 좋은것은 아니다.


신버전일 수록 사람들이 많이 사용해보지 않았고 버그가 발견되지 않아서 안정성 문제가 발생 할 수 있다는 점을 알아두자.



이 블로그에서 사용할 MyBatis 버전은 3.4.1이다. 3.4.1버전의 숫자를 눌러 다음 페이지로 넘어가자








jar 파일을 다음과 같이 lib 폴더에 추가하면 된다.















곧 Spring Framework에 대한 내용을 게시할 예정인데


Framework가 무엇인지 알아보자.


출처 - 네이버 어학사전




네이버 선생님의 어학사전에 따르면 뼈대, 틀, 체계와 같은 의미로 쓰인다.


어떤 단어가 기술 이름과 같은 곳에 쓰일때에는 절대 연관성이 없는 단어를 끌어다 쓰지 않는다.


그러므로 프로그래밍에서 Framework 또한 기존의 의미에서 벗어나지 않는다는 얘기다.


프로그래밍에서 쓰이는 Framework의 뜻은


개발자가 따르는 가이드나


개발자가 할 수 있는 개발의 범위를 지정하여 제한하거나


개발자가 사용할 수 있는 다양한 도구 플러그인을 말한다.





장단점이 중요한데


장점으로는


1. 개발 시간의 단축


2. 정형화 되어 일정 수준의 품질을 기대 할 수 있다.


3. 유지 보수가 쉽다.




단점으로는


1. 너무 의존하게 되면 개발자들의 능력이 떨어진다 (이 부분은 사전적인 장단점으로 사람마다 다르다고 생각한다.)


2. 어렵기 때문에 습득하는 시간이 오래걸린다





Framework의 종류로는 4가지가 있다.



영속성 Framework 

 데이터 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들을 라이브러리화 하여 구현

Mybatis

Hibernate

자바 Framework

 Java EE를 통한 웹 어플리케이션 개발에 초점, 필요한 요소들을 모듈화

 Spring Framework

전자정부표준 - Spring

Struts

화면 구현 Framework

 Front-End를 보다 쉽게 구현할 수 있게 틀을 제공

 Bootstrap

Foundation

MDL

기능 및 지원 Framework

 특정 기능, 업무 수행에 도움을 줄 수 있는 기능을 제공

 Log4j

JUnit 5

ANT















+ Recent posts