본문 바로가기
공부/java & Spring

[왕왕왕초보 Spring 실습] 4. 오라클 데이터 불러오기

by 고기 2022. 7. 17.

작성순서

0. 참고

1. sqlmap 작성

2. pom.xml 작성

3. servlet-context.xml 수정

4. root-context.xml 작성

5. 빌드 후 실행


0. 참고

https://1545154.tistory.com/71

 

[왕왕왕초보 Spring 실습] 5. 실습 코드 참고

작성순서 1. foodController.java 2. foodDao.java 3. foodDaoMyBatis.java 4. foodService.java 5. foodServiceImpl.java 6. foodVO.java 7. mybatis-config.xml 8. sqlmap-board.xml 9. servlet-context.xml 10...

1545154.tistory.com

 

1. sqlmap 작성

DAO 객체에 데이터베이스 데이터를 담기 위해 mapper를 작성하자.

 

id는 list이고 foodVO 형식으로 값을 가져온다.

그런데 어디로 가져오는데??

저번 글에서 작성했던 foodDaoMyBatis.java에서 List<foodVO> list()에서 list라는 id로 리턴된다.

 

그럼 foodDaoMyBatis.java에서 list()로 받은 값은 어디로 리턴되는데??

foodServiceImpl.java의 List<foodVO> list() 함수로 리턴된다.

 

그럼 다시 어디로 리턴되는데?? 

controller의 List<foodVO> foodList로 리턴된다.

그러니까 즉, 이 모든 과정이 controller의 List foodList = foodService.list(); 이 한 문장에서 일어나는 것이다.

 

 

어쨌든... 이건 그렇다치고 마저 작성하자.

마이바티스 작동규칙을 정의하는 것인데 이것도 잘 모른다...

그냥 하라는대로 작성해보자. 하다보면 이해되겠지 ㅋㅋㅋ

 

2. pom.xml 작성

spring mvc project에서 생성되는 기본 pom.xml 모습이다.

 

<dependencies> ...  </dependencies> 사이에 이것저것 집어넣으면 된다.

내가 집어넣은 코드는 다음과 같다.

<!-- ㅡㅡㅡㅡㅡㅡㅡㅡ 여기부터 ㅡㅡㅡㅡㅡㅡㅡㅡ -->
<!-- oracle jdbc driver -->
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>orai18n</artifactId>
    <version>19.3.0.0</version>
</dependency>

<!-- spring jdbc -->
<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-jdbc</artifactId>
   <version>${org.springframework-version}</version>
</dependency>

<!-- connection pool library -->
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>

<!-- mybatis spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.2</version>
</dependency>	

<!-- MyBatis library -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>

<!-- Resource 의존성 설정 -->		
<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>			
<!-- ㅡㅡㅡㅡㅡㅡㅡㅡ 여기까지 ㅡㅡㅡㅡㅡㅡㅡㅡ -->

 

pom.xml을 저장하고 프로젝트에서 maven update를 해준다.

 

Force Update of Snapshots/Releases 체크하고 ok해주면 된다.

왜 해야하는지는 모른다. 하라고 하니까 하는것 뿐... ㅋㅋㅋㅋㅋㅋㅋ

이런것들은 나중에 공부 더 해서 작성해보겠다... 일단 동작하는걸 확인하는게 우선이니ㅠㅠ  급하다급해...

 

 

3. servlet-context.xml 수정

 

base-package를 다음과 같이 수정해준다.

spring project에서 base-package에서 지정된 경로에 있는 controller만 작동한다...고 이해하면 될 것 같다.

사실 com.project.*라고 해도 상관없지만 실습이니까 패키지를 명시해볼려고 확실하게 지정해봤다.

 

 

4. root-context.xml 작성

 

마지막으로 root-context.xml을 작성해준다.

Namespace에서 3개를 체크해주자. 항목이 없으면 프로젝트 메이븐 업데이트 해주면 된다.

 

오라클 설정과 sqlSessionFactory 설정을 해준다.

 

5. 빌드 후 실행

Project - Clean

 

프로젝트 선택 후 Clean

 

톰캣 서버 실행

 

어라 한글이 깨지네...?

 

jsp로 가서 UTF-8 인코딩 추가 후 실행

 

제대로 불러와졌다...

 

아이고 길었다;; 

다음주까지 프로젝트 구상해서 8월부터 토이 프로젝트 만들어본다...! 그 때는 더 잘 설명할 수 있겠지?

 

실습 끝!

댓글