간단하게 H2 데이터베이스로 설치한다.
http://h2database.com/html/main.html
H2 Database Engine
H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp
h2database.com
All Platforms로 설치
정한 디렉터리에 압축 풀고
bin 으로 들어가서
chmod 755 h2.sh (권한을 설정해준다. 맥 환경만)
후에
./h2.sh (연결)
입력하면
사이트가 뜬다.
확인 후
홈에서
test.mv.db
이 파일이 있어야한다.
JDBC URL 에서
기존에 jdbc:h2:~/test 말고
jdbc:h2:tcp://localhost/~/test 이걸로 변경한다.
이렇게 해야 파일 직접 접근이 아닌 통해서 접근할 수 있게 된다. (충돌 방지)
수정 후 연결이 안됐다가
다시 재부팅 후 앞에 localhost로 바꾸고 나니 됐다.
연결 후 sql로 테이블 작성
sql 구문 중에
id bigint generated by default as identity,
generated by default as identity 이 부분은 값이 없으면 DB가 자동으로 채워준다.
PK 는 id로 잡았다.
이렇게 확인되는 것을 볼 수 있다.
insert 해서
추가가 잘 되었는지도 확인되었다.
강사님께선 추가적으로 sql폴더를 만들어서 따로 저장해서 관리한다고 하셨다.
왜 프로젝트할 때 안에 자체적으로 관리하는 방법을 아예 생각하지 못했을까?.. 흠
다음에 이어서.
build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가하고.
스프링 부트 데이터베이스 연결 설정 추가해준다.
application.properties 파일에 넣어주면 된다. (spring의 장점!)
(주의 : spring.datasource.username=sa 를 추가하지 않으면,
Wrong user name or password 오류가 발생한다고 한다. + 공백 무조건 제거!)
이렇게 하면 DB 접근에 대한 준비는 끝!
JdbcMemberRepository 를 생성하고 try catch 구문 안에 Connection 관련 설명을 듣고...
고전 스타일을 설명해주셨다 ㅎㅎ..!
예전에 프로젝트 때 하나하나 sql 문으로 적었던 방법이 생각나는,,,, ㅠ ㅠ
SpringConfig 에서 연결해주고 테스트를 해본다.

테스트 확인 완료
이 부분이 springd의 큰 장점이다. --> 다형성을 활용!
과거에는 의존하는 곳에서 모든 member서비스를 다 수정해야했다!
SpringConfig 에서 애플리케이션을 설정하는 것 -> 어셈블리 하는 것. (조립)
이 코드에서만 손대면 다른 부분을 손댈 일이 없기 때문에 엄청 편리한 것이다.
스프링의 DI (Dependencies Injection)을 사용하면 기존 코드 수정 X, 설정 만으로 구현 클래스를 변경할 수 있다.
이런 것을
개방-폐쇄 원칙(OCP, Open-Closed Principle) 이라 한다.
- 확장에는 열려있고, 수정, 변경에는 닫혀있다.
이것이 객체지향의 매력!
다음은 통합 테스트를 진행!
'개인 > [java] 스프링 입문 공부' 카테고리의 다른 글
스프링 JdbcTemplate (순수JDBC 보다 좋은 점) (0) | 2023.07.13 |
---|---|
통합 테스트 (@Transactional 용도) (0) | 2023.07.13 |
아주 간단한 화면, 가입, 조회 (get, post방식 기초, 메모리에만 데이터 저장) (0) | 2023.06.28 |
자바 코드로 직접 스프링 빈 등록하기 (+ 장점) (0) | 2023.06.15 |
[IntelliJ] cannot resolve symbol 'springframework' (0) | 2023.06.15 |
댓글