1. 실습환경 세팅
(1) DB 생성
- likelionmember 데이터베이스 및 member 테이블 생성
CREATE TABLES `member` (
id int auto_increment primary key,
username varchar(10) not null,
age int,
university varchar(50)
);
(2) SpringBoot 프로젝트 설정
- application.properties
spring.apllication.name = likelionmember
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
spring.datasource.url = ${DB_URL}
spring.datasource.username = ${DB_USERNAME}
spring.datasource.password = ${DB_PASSWORD}
- Run > Edit Configurations > Environment variables
| DB_URL | jdbc::mysql://localhost:3306/likelionmember |
| DB_USERNAME | root |
| DB_PASSWORD |
(3) Member 엔티티 클래스
- src > main > java > com.week5.likelionmember > domain > Member.java
package com.week5.likelionmember.domain;
import jakarta.persistence.*;
import lombok.Getter;
@Getter
@Entity
public class Member {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private int age;
private String university;
protected Member() {}
public Member(String username, int age, String university) {
this.username = username;
this.age = age;
this.university = university;
}
}
(4) Repository 인터페이스
- src > main > java > com.week5.likelionmember > repository > MemberRepository.java
package com.week5.likelionmember.repository;
import com.week5.likelionmember.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MemberRepository extends JpaRepository<Member, Long> {
}
(5) 더미데이터 넣기
- src > main > java > com.week5.likelionmember > config > DataInitializer.java
package com.week5.likelionmember.config;
import com.week5.likelionmember.domain.Member;
import com.week5.likelionmember.repository.MemberRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class DataInitializer {
@Bean
CommandLineRunner initDatabase(MemberRepository memberRepository) {
return args -> {
if (memberRepository.count() == 0) {
memberRepository.save(new Member("yujin", 23, "서울여자대학교"));
memberRepository.save(new Member("yujin", 25, "서울여자대학교"));
memberRepository.save(new Member("minji", 22, "서울여자대학교"));
memberRepository.save(new Member("eunji", 24, "서울여자대학교"));
memberRepository.save(new Member("chae", 21, "서울여자대학교"));
memberRepository.save(new Member("hana", 23, "서울여자대학교"));
memberRepository.save(new Member("jisu", 26, "서울여자대학교"));
memberRepository.save(new Member("sohee", 20, "서울여자대학교"));
memberRepository.save(new Member("mirae", 22, "서울여자대학교"));
memberRepository.save(new Member("sun", 27, "서울여자대학교"));
memberRepository.save(new Member("nana", 24, "서울여자대학교"));
memberRepository.save(new Member("yeji", 21, "서울여자대학교"));
memberRepository.save(new Member("arin", 28, "서울여자대학교"));
memberRepository.save(new Member("seul", 23, "서울여자대학교"));
memberRepository.save(new Member("hyejin", 22, "서울여자대학교"));
memberRepository.save(new Member("yujin", 23, "연세대학교"));
memberRepository.save(new Member("somin", 22, "고려대학교"));
memberRepository.save(new Member("jaemin", 20, "서울대학교"));
memberRepository.save(new Member("yuna", 25, "이화여자대학교"));
memberRepository.save(new Member("dongha", 28, "중앙대학교"));
memberRepository.save(new Member("jinyoung", 24, "한양대학교"));
memberRepository.save(new Member("seojin", 22, "성균관대학교"));
memberRepository.save(new Member("arin", 27, "이화여자대학교"));
memberRepository.save(new Member("jiyun", 23, "경희대학교"));
memberRepository.save(new Member("hyun", 26, "건국대학교"));
memberRepository.save(new Member("sora", 21, "홍익대학교"));
memberRepository.save(new Member("jae", 24, "국민대학교"));
memberRepository.save(new Member("yujin", 29, "한양대학교"));
memberRepository.save(new Member("yujin", 20, "고려대학교"));
}
};
}
}
'멋쟁이사자처럼 13기 > 정기 세션' 카테고리의 다른 글
| [멋사/Mac OS] 5주차 정기 세션 (Part 3. QueryDSL 소개 및 JPQL과 비교) (0) | 2025.06.20 |
|---|---|
| [멋사/Mac OS] 5주차 정기 세션 (Part 2. JPA 쿼리 작성 방법) (0) | 2025.06.20 |
| [멋사/Mac OS] 4주차 정기 세션 (Part 3. 실습) (0) | 2025.06.18 |
| [멋사/Mac OS] 4주차 정기 세션 (Part 2. 엔티티 설계) (0) | 2025.06.18 |
| [멋사/Mac OS] 4주차 정기 세션 (Part 1. JPA) (0) | 2025.06.17 |