5. [시간표 자동생성 서비스] 4. Spring boot - JPA - lombok - MySql 연결하기

0

시간표 자동생성 서비스 깃허브 리포

참조 블로그

1. goorm ide ubuntu에 mysql 설치


terminal>> sudo apt install mysql-server
terminal>> mysql -u root -p
termianl>> 설정한 비밀번호 입력


음~역시 갓구름!

terminal>> ps -A|grep mysql
terminal>> sudo pkill mysql
termianl>> ps -A|grep mysqld
termianl>> sudo pkill mysqld
termianl>> service mysql restart
terminal>> mysql -u root -p
termianl>> 설정한 비밀번호 입력

스키마 및 샘플테이블 생성
create schema schedule_schema;
use schedule_schema;

CREATE TABLE `sample` (
  `name` varchar(10),
  `age` int(3),
   PRIMARY KEY(`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. dependency 설정


implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'mysql:mysql-connector-java
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok''

3. properties 설정


# API 호출시, SQL 문을 콘솔에 출력한다.
spring.jpa.show-sql=true

# DDL 정의시 데이터베이스의 고유 기능을 사용합니다.
# ex) 테이블 생성, 삭제 등
spring.jpa.generate-ddl=true

# MySQL 을 사용할 것.
spring.jpa.database=mysql

# MySQL 설정
spring.datasource.url=jdbc:mysql://localhost:3306/스키마명?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=db아이디
spring.datasource.password=db비번
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MySQL 상세 지정
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

bootRun

4. DTO 생성


다음과 같이 디렉토리 설정

SampleDTO.java
package com.scheduleAutomatic.model;

import lombok.*;
import javax.persistence.*;

@Data
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity(name="sample")
public class sampleDTO { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY)   
    private String name; 
    private int age;
    @Builder 
    public MemberVo(String name, int age) { 
        this.id = id;
        this.name = name; 
    } 
}
SampleDAO.java
import com.scheduleAutomatic.model.SampleDTO;

public interface SampleDAO {
    List<SampleDTO> findAll();   
    SampleDTO findById(String name);    
    void save(SampleDTO sampleDTO);    
    void deleteById(String name);
}

0개의 댓글