IT 강의 정리/윤재성의 스프링 입문

[섹션7][JDBC&MyBatis] 26강~29강 오라클 데이터베이스 설치/ SQL Developer설치/ Spring JDBC/ MyBatis

Nellie Kim 2022. 10. 15. 04:02
728x90

26. 오라클 데이터베이스 설치

현재 오라클사이트에서 11g버전의 database가 제공되지 않기때문에 윤재성선생님의 구글드라이브https://drive.google.com/drive/folders/1f11i7pkl2pOFnWARgHevupQsN-ry8sQL에서 다운을 받았다.

setup.exe를 눌러 설치를 진행한다. 관리비밀번호는 1234로 했다.

이 창이 뜨면 우측 하단 비밀번호 관리 클릭 - SYS/ SYSTEM/ SCOTT 에 비밀번호 1234로 설정

cmd창에서 아래와같이 설치된 것 확인

 

27. SQL Devleoper설치

오라클 데이터베이스를 GUI환경에서 관리할 수 있도록 제공되는 도구이다. 깔끔한 환경으로 편리하게 사용가능하다.

오라클에서 다운로드 - sqldeveloper.exe 더블클릭

시트 새로 만들고 select * from emp; 를 실행시켜 아래에 잘 출력 되는지 확인.

 

28. Spring JDBC

스프링 프레임워크는 JDBC프로그래밍을 위해 JdbcTemplate클래스를 제공하고 있다.

JdbcTemplate클래스는 SQL쿼리문을 손쉽게 구현할 수 있도록 설정되어 있다.

 

사용법

1) 데이터베이스.txt 파일 만들고, 간단한 쿼리문 작성(int, string데이터 1개씩)한후, SQL Developer에 붙여넣어 table을 생성하기.

2) jdbcBean.java파일을 만들고, 1)에서 만들어 놓은 컬럼명과 동일하게 필드명 작성후, 게터세터메소드 생성하기.

자바에서 JDBC프로그램을 시행하기위해서는 데이터베이스와 연동하기 위한 JDBC 드라이버가 필요하다.

우리는 오라클 JDBC를 추가해줘야 한다. (오라클 JDBC, MySQL JDBC 등등 각각의 JDBC드라이버가 필요하다)

보통은 MVN Repository 사이트에서 검색해서 가져오면 되는데, 오라클 JDBC는 MVN Repository 사이트에서 다운로드 받을 수가 없다. 따로 입력해줘야 한다.

 

3) 먼저,  pom.xml에 아래와 같이 자르파일을 다운받을 수 있는 새로운 리포지토리주소를 등록해주자.

4) oracle jdbc라이브러리도 추가해주기.

리포지토리주소 등록 , oracle jdbc라이브러리 등록

데이터베이스 접속은, 자바에서 기본적으로 제공하고 있는 JDBC를 이용해도 되지만, 쿼리문 전송할 때마다 매번 close를 해줘야 하기 때문에, 실제로 현업에서는 DBCP를 많이 사용한다.

5) 데이터베이스를 이용하기 위해 DBCP라이브러리를 추가하기.

DBCP라이브러리등록

6) JdbcTemplate 라이브러리 추가

7) BeanConfigClass.java에 DataSource관련 빈 등록, 쿼리를 전달하는 JdbcTemplate빈 등록

8) jbdcDAO클래스를 만들고 여기에 데이터베이스처리에 관련된 코드 작성하기

9) 메인클래스에서 dao를 가져와서 데이터를 저장/수정/삭제 처리 코드 작성하기

10) 오라클화면에서 select * from jdbc_table; 쿼리를 보내면 아래와 같이 잘 저장된 것을 확인할 수 있다.

 

Mapper클래스

이제 데이터를 가져오는 작업을 해보자. 

select 에서 row가 하나만 나온다면, 빈객체 하나를 만들어서 직접 컬럼에서 값을 가져와서 빈에 세팅을 한다.

만약 row가 매우 많다면, row하나당 빈객체 하나를 만들어서 row각각의 정보를 담은 빈객체를 row갯수만큼 다 만든후, 이것을 리스트에 담아서 반환해야 하는데, 이 과정을 Mapper클래스가 모두 알아서 해준다!

MapperClass.java

1) MapperClass를 만들고, RowMapper 인터페이스를 구현한다.

mapRow라는 메소드를 오버라이딩한다. ResultSet이란 객체를 가지고 접근을 한다. 이 객체가 매개변수로 들어오게 된다. 이 객체는 select문을 수행해서 가져온 결과가 담겨있다. 이 ResultSet으로부터 컬럼의 데이터를 가져와서 빈에 주입해주고 그 빈을 반환해준다.

2) jdbcDAO클래스에서 Mapper를 주입받고, 가져온다.

3) 메인클래스에서 List로 가져온다.

 

29. MyBatis

자바버전은 반드시 1.8(8버전)이상으로 맞추어 줘야한다. 그 이하일 경우 컴파일 에러가 난다.

 

1) BeanConfigClass에 데이터소스, SqlSessionFactory, Mapper 부분 작성.

Mapper는 무수히 많이 만들어도 된다.

2) 메인클래스에서 Mapper이름으로 가져온다. 실행시 오류가 안난다면 정상작동

3) MapperInterface클래스에서 일대일대응형식으로 Results부분 코드작성

4) 메인클래스에서 select문 작성

 

 

출처 :  [인프런]윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정