[Project] Spring + JPA + MySQL 연동(1)

노아카프카·2022년 6월 13일
0

Spring

목록 보기
5/5

오늘의 삽질


JPA와 MySQL연동하는데, Entity의 변수명을 다르게 지정했다.
JPA - MySQL 연동할때, Entity에서 변수가 camelCase를(userName)로 되어있으면, 알아서 snake_case(user_name)로 바꿔주는데, 이를 한 번 더 꼬아서 Entity 변수를 스네이크 케이스로 만들었더니, find 함수에서 에러가 발생했다.

여기서 한 가지, Java는 관례적으로 camelCase를 사용하고, DB는 관례적으로 snake_case를 사용한다고 한다.


본격적인 Spring 프로젝트에 MySQL 연결하기 진행 과정

1. MySQL 설치 및 ID / PW 설정

우선 설치는 너무 쉽다.
Mac 기준 아래 링크에서 자신의 프로세서 사양에 맞는 버전을 설치해주면 된다.
나는 M1 칩이 탑재된 맥북을 사용하고 있기 때문에, arm 버전을 설치했다.
mysql 설치 링크

설치가 끝나고 나면, root 계정의 password를 설정할 수 있다.


2. MySQL 실행 / DB 생성 / 계정 생성 / 권한 부여

cd /usr/local/mysql/bin  // 디렉토리로 이동.
./mysql -u root -p		 // MySQL 을 root 계정으로 접근하겠다.
  • DB 생성 : CREATE DATABASE DB이름 DEFAULT CHARACTER SET UTF8;

  • 사용자 생성 : CREATE USER 사용자아이디@localhost IDENTIFIED '비밀번호';

  • 권한 부여 : GRANT ALL PRIVILEGES ON DB이름.* TO 사용자아이디@localhost;


3. Spring -> application.properties에 MySQL 정보 입력

spring.datasource.url=jdbc:mysql://localhost:3306/DB이름?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=계정명
spring.datasource.password=패스워드
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# mysql
spring.jpa.database=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

logging.level.org.hibernate=info

spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true

4. MySQL -> Table 생성

CREATE TABLE IF NOT EXISTS DB이름.USER(
	SEQ BIGINT NOT NULL AUTO_INCREMENT,
    USER_NAME VARCHAR(200),
    USER_ID VARCHAR(200),
    PRIMARY KEY(SEQ)
 );

그 뒤에 PostMan 으로 Join 기능을 실행하보니, 잘 저장되었다.
다음 포스트에서는 Join과 로그인 기능에 대한 내용을 써봐야겠다.

0개의 댓글