SQL

인텔리제이와 MySQL 연동하기(Workbench)

JANNNNNN 2024. 4. 9. 22:27

1. MySQL Query

Query문으로 database 생성하기.

create database new_seedstarter; //database name 지정
create user root_Seedstarter@localhost identified by '1234'; //User Name과 Password 지정
grant all privileges on new_seedstarter.* to root_Seedstarter@localhost; // database과 username@localhost 지정

2. Workbench에서 MysSQL Connect하기

3. 인텔리제이 application.xml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/new_seedstarter?serverTimezone=Asia/Seoul
    username: root_Seedstarter
    password: 1234
  jpa:
    database-platform: org.hibernate.dialect.MySQL8Dialect
    hibernate:
      ddl-auto: create
    show-sql: true
    properties:
      hibernate.format_sql: true

4. pom.xml에 denpendency 추가

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 변수 사용 -->
            <version>${spring-boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <!-- 변수 사용 -->
            <version>${spring-boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <!-- 변수 사용 -->
            <version>${spring-boot.version}</version>
        </dependency>
        <!-- MySQL 커넥터 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>

mysql connector은 꼭 추가해줘야하고, java.xml.bind는 에러가 나서 제가 개인적으로 추가해준거에요!

5. Gradle을 사용한다면

DB 연결 설정 : application.properteis

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://아이피:3306/데이터베이스?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
spring.datasource.username=아이디
spring.datasource.password=비밀번호

Hibernate ddl 설정 : application.properites

spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

6. 인텔리제이 Main에 @SpringBootApplicaion 

package org.example;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {
    public static void main(String[] args)
    {
        SpringApplication.run(Main.class, args);
    }
}

그냥 Main이면 안되구 스프링부트로 사용해야 정상적으로 작동됩니다.

그리고 Entity도 잘 설계해서 주입시켜주면됩니다.

7. MySQL에 연동 잘 되는지 확인

Table에 잘 들어오면 끝!