일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- django 프로젝트 시작
- django 웹 페이지
- django apache deploy error
- APPEND_SLASH = FALSE
- django The requested operation has failed!
- django windows 배포 에러
- 원격 연결 포트 포워딩
- 1188 java
- 2643 색종이 올려 놓기
- 2961 도영이가 만든 맛있는 음식
- 2961 java
- 18233 비트마스킹
- apache pythonpath
- 14711 타일 뒤집기
- 2661 java
- django httpd error
- 2643 java
- The requested operation has failed!
- java di
- django
- django settings.py
- 1188 음식 평론가
- windows 원격 연결 설정
- 2661 좋은 수열
- windows apache wsgi 에러
- Problems occurred while performing provisioning operation
- 공유기 원격 설정
- 18233 java
- 18233 러버덕
- 14711 java
라이브러리는 도서관 아닌가요
* spring boot gradle mysql & oracle db 연동 / JPA + security 설정 본문
* spring boot gradle mysql & oracle db 연동 / JPA + security 설정
veryhi 2021. 12. 28. 22:19
버전 정보
- JavaSE-11 버전
- Oracle 18c
- MySQL 8.0.22
버전을 상당히 많이 타기 때문에,
(예를 들면 ojdbc8.jar 같은 외부 라이브러리라던가, dialect 설정 따위라던가 하는 것들)
막히는 부분은 구글링 필수!
---------------------------------------- 1. DB 연동 ----------------------------------------
Oracle
#build.gradle
runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
#application.properties
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username=계정명
spring.datasource.password=qwer1234
당연히 OracleServiceXE는 켜져있어야 한다.
Mysql
#build.gradle
runtimeOnly 'mysql:mysql-connector-java'
#application.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/DB명?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=계정명
spring.datasource.password=qwer1234
당연히 MySQL은 DB명과 동일한 DB를 생성해두어야 한다.
생성 명령어 관련 (https://verycrazy.tistory.com/28?category=1025126)
MySQL + hikari CP
#application.properties
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mysql://localhost:3306/DB명?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.hikari.username=계정명
spring.datasource.hikari.password=qwer1234
+더하여, DatabaseConfiguration.java를 설정해주어야 한다. 아니면 아래와 같은 에러를 만난다.
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
-------------------- 2. JPA + security 연동 --------------------
Oracle
#build.gradle
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
testImplementation 'org.springframework.security:spring-security-test'
#application.properties
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.database=oracle
spring.jpa.database-platform=org.hibernate.dialect.Oracle12cDialect
logging.level.org.hibernate=info
Mysql
#build.gradle
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
testImplementation 'org.springframework.security:spring-security-test'
#application.properties
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.database=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
logging.level.org.hibernate=info
JPA dialect 관련 정보:
https://verycrazy.tistory.com/85
DB 생성 관련 명령어:
https://verycrazy.tistory.com/28?category=1025126