1. DB 접근하기
MyWeb 프로젝트를 진행하면서 JSP 페이지에서 DB에 접근하는 것을 배웠었다.
이번에는 스프링을 활용하여 DB에 접근하려 한다.
스프링에서 DB를 접근하는 방법은 크게 두 가지가 있는데 1) JDBC를 활용하는 방법과 2) JPA를 통해서 DB를 자바 안에서 모두 관리하는 방법, 그리고 3) MyBatis라는 DB의 프레임워크를 사용하는 방법이 있다.
아직 MyBatis는 배우지 않았으므로 스프링 안에서 JDBC를 활용하는 방법을 사용하여 사용자가 개인이 저장하고픈 노래를 저장하고 언제든지 틀 수 있는 MyMelon 페이지를 만들어보려한다!
2. MyMelon 페이지 만들어보기
위의 사진과 같은 마이 멜론 페이지를 만들어보자!
그러기 위해선 우선 스프링 프로젝트를 만들어야겠다.
위를 보면 스프링이 SQL, 즉 데이터베이스와 관련되어서 제공해주는 여러 의존성들이 있다.
프로그래밍에서는 어플리케이션의 객체와 데이터 베이스를 연동해주는 데에는 기본적으로 ORM 방식을 사용해왔다.
우리는 JDBC와 Oracle을 활용하여 진행하려 한다.
- 그래서 JDBC API 와 Oracle Driver 까지 선택해주었다.
이 ORM 방식에 대해선 다음 꼭지로 따로 빼서 간단하게 알아가보자.
3. ORM 방식
위의 사진처럼 데이터베이스와 어플리케이션의 객체를 자동으로 매핑해주는 것을 ORM 방식이라고 한다.
그리고 자바에서는 이런 ORM 방식을 수행해주는, 표준 ORM 방식으로 채택된 방식을 JPA라고 부른다.
물론 이런 모든 과정들을 또 더 간단하게 사용할 수 있게 도와주는 MyBatis 프레임워크가 존재한다.
그래서 어떤 방식을 선택하는게 옳다고 이야기할 순 없다.
개발자가 한 가지 방식을 완벽하게 익히고 사용할 수 있다면 다른 방식도 곧 잘 따라갈 수 있기에 우린 JDBC 방식으로 오라클에 접근하여 DB를 관리하려 한다.
4. 프로젝트 환경설정 해주기 + Oracle 환경설정까지!
1) 필요한 라이브러리(의존성) 추가
- Tomcat-embed-jasper : 내장형 톰캣의 뷰페이지를 jsp 파일로 지정
- jstl : 내장형 톰캣에서 JSTL을 사용하기 위한 라이브러리
- Apache Commons FileUpload : 파일 업로드를 위한 라이브러리
(참고를 위해서 mail과 json도 추가해주었다)
2) application.properties에 필요한 공통환경설정 추가
- 톰캣 서버의 http 포트 변경
- JSP를 뷰페이지로 사용하기 위한 작업
- JSP 페이지가 수정이 되면 자동으로 서버를 재시작하게 해주는 작업
- 파일 업로드 용량 제한 설정
- 오라클 DB 환경설정(하지 않으면 서버를 실행시킬 때 오류가 난다)
# 톰캣 서버 포트
server.port=9095
# 뷰단 연결
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
# JSP 페이지가 수정이 되면 자동으로 서버를 재시작하게 해줌
server.servlet.jsp.init-parameters.development=true
# 파일 업로드 용량 제한 설정
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# 오라클 DB 환경 설정
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=system
spring.datasource.password=1234
다음 게시물부터는 DB로 작업을 할 준비를 하려 한다.
'⁂ Spring FrameWork > : 기본 익히기(Boot 기반)' 카테고리의 다른 글
[Spring] #7-3 MVC 패턴으로 DB 접근하기 - MyMelon 프로젝트(JSP파일) (0) | 2022.11.02 |
---|---|
[Spring] #7-2 MVC 패턴으로 DB 접근하기 - MyMelon 프로젝트(Class파일) (0) | 2022.11.02 |
[Spring] #6-2 컨트롤러로 게시판 만들기 (0) | 2022.11.01 |
[Spring] #6 View와 Controller 연습하기(MVC 중 VC) (0) | 2022.11.01 |
[Spring] #5 어노테이션과 스프링 컨테이너(+ 내장형 톰캣 환경설정하기) (0) | 2022.10.31 |