본문 바로가기
☕Java/Spring

[20210709] Spring + MyBatis를 이용한 게시판 1 - 프로젝트 구조

by 캔 2021. 7. 9.

MyBatis는 데이터베이스에 접근해서 서버가 데이터를 가져올 수 있도록 해주는 프레임워크이다. 스프링 프레임워크로 웹 개발을 하면서 데이터베이스에 접근할 때는 MyBatis를 이용하도록 할 수 있다.

두 프레임워크를 사용하여 게시판을 만드는 프로젝트를 차근차근 살펴보자.

먼저, 스프링 프로젝트의 전체적인 구조에 대해 알아보자.

스프링 프로젝트의 구조(밑줄 친 부분이 MyBatis와 관련된 파일들이다.)

프로젝트의 이름은 newProject이다. newProject의 소스 코드(src) 폴더는 자바 코드와 관련된 main 폴더와 웹페이지와 관련된 webapp 폴더로 나뉜다.

main 폴더 안에는 자바 코드를 담고 있는 java 폴더가 있으며 이 안에 control, dao, dto, resource 패키지가 위치한다. control에는 사용자가 요청한 작업을 수행하고 처리 결과를 뷰로 전달하는 '컨트롤러'가 들어있다. dao는 데이터베이스 조작을 위한 명령어들이 정의되어있다.(selectAll(), selectOne(), insertOne(), updateOne(), deleteOne()) dto는 데이터베이스와 파일 주고받기 위한 데이터 형식 클래스이다. resource에는 mapper.xml이 들어있는데 데이터베이스를 조작을 위한 기능별로 SQL문이 작성되어 있다.

webapp 폴더에는 웹페이지와 관련된 파일들이 저장된 곳으로써, 기본적으로 프로젝트 생성 시 WEB-INF와 META-INF가 같이 생성되며 DD(Deployment Descriptor, 배치 기술서)인 web.xml이 WEB-INF 안에 생성된다. 그리고 컨트롤러의 처리 결과를 바탕으로 웹페이지의 뷰를 생성하는 뷰 파일들(jsp 파일들)을 저장하기 위해 view 폴더를 만들고 그 안에 저장한다.