Spring + mysql 단일연결( DataBase_5 )

송성원·2024년 1월 17일
1

Database

목록 보기
5/6
post-thumbnail
post-custom-banner

단일연결을 위한 code 작성

  1. 프로젝트를 생성 할 때 무조건 밑 library 추가 필요(없다면 gradle 가서 추가)
dependencies {
       implementation 'org.springframework.boot:spring-boot-starter'
       runtimeOnly 'mysql:mysql-connector-java'
       testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }      

  1. application.properties에 커넥션 정보 입력
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/(database명)?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
spring.datasource.username= (id)
spring.datasource.password= (password)

  • 이부분이 현재는 localhost로 되어있지만 aws에서 db서버를 띄웠다면 거기에 맞게 주소값을 입력

  • 당연히 database를 생성한 상태로 여기에 database명을 입력해줘야된다.

  • id, password는 개인정보임으로 거기에 맞게 적어주면 연동이 된다.

  1. Entity 파일에 맞게 database에 자동으로 생성해주는 코드 작성
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl      
  • none은 처음부터 x -> create로 바꿔서 entity에 맞는 자동생성을 진행후
  • 다시 none으로 바꾸어주면 내가 지정한 db에 table 자동생성이 된다.

문제점(2가지)

  • 일단 toyproject에 적용시 entity가 두가지가 있는데 그 의존성이 되어있지않으면 자동생성되기 어렵다. 따라서 확실한 의존관계 설정후 진행해야된다.
  • create를 계속두면 table이 초기화되고 새로운 table을 생성하기 때문에 무조건 none으로 바꾸어 주어야된다.

이렇게 진행한다면 aws 서버를 띄운다고 해도 이에 맞게 구성한다면 mysql 단일연결은 어렵지 않을 것이다.

profile
개발에 도전하는 문과생입니다.
post-custom-banner

0개의 댓글