KIMHYEYUN 2022. 11. 21. 19:28
λ°˜μ‘ν˜•

νšŒμ› μœ ν˜• Enum 클래슀

  • νšŒμ›μ˜ μœ ν˜•(Admin, User)λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μƒμˆ˜κ°’

νšŒμ› 클래슀

package com.example.yunishop.domain.member;

import com.example.yunishop.constant.Role;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
@Getter
@NoArgsConstructor
public class Member {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String memberId;
    private String password;
    private int postCode;
    private String address;
    private String addtionalAddress;
    private Role role;
}

Entity κ΄€λ ¨ Annotation

μ–΄λ…Έν…Œμ΄μ…˜ μ„€λͺ…
@Entity 클래슀λ₯Ό μ—”ν‹°ν‹°λ‘œ μ„ μ–Έ
@Id ν…Œμ΄λΈ”μ˜ 기본킀에 μ‚¬μš©ν•  속성을 μ§€μ •
@GeneratedValue ν‚€ 값을 μƒμ„±ν•˜λŠ” μ „λž΅ λͺ…μ‹œ

νšŒμ› ν…Œμ΄λΈ” 생성

νšŒμ› Repository 섀계

package com.example.yunishop.domain.member;

import org.springframework.data.jpa.repository.JpaRepository;

public interface MemberRepository extends JpaRepository<Member, Long> {
}

ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ application-test.properties 생성

# Datasource μ„€μ •
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=

# H2 λ°μ΄ν„°λ² μ΄μŠ€ λ°©μ–Έ μ„€μ •
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

νšŒμ› μ €μž₯ ν…ŒμŠ€νŠΈ

@SpringBootTest
@TestPropertySource(locations = "classpath:application-test.properties")
class MemberRepositoryTest {

    @Autowired
    MemberRepository memberRepository;

    @Test
    void νšŒμ›_μ €μž₯_ν…ŒμŠ€νŠΈ() {
        Member member = new Member();
        member.setName("ν…ŒμŠ€νŠΈ");
        member.setMemberId("ν…ŒμŠ€νŠΈ");
        member.setPassword("ν…ŒμŠ€νŠΈ");
        member.setPostCode(111);
        member.setAddress("ν…ŒμŠ€νŠΈ");
        member.setAddtionalAddress("ν…ŒμŠ€νŠΈ");

        Member savedMember = memberRepository.save(member);

        System.out.println(savedMember.toString());
    }

}
Annotation μ„€λͺ…
@SpringBootTest 톡합 ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” μ• λ…Έν…Œμ΄μ…˜. μ‹€μ œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ동할 λ•Œμ²˜λŸΌ λͺ¨λ“  Bean을 IoC μ»¨ν…Œμ΄λ„ˆμ— 등둝
@TestPropertySource ν…ŒμŠ€νŠΈ μ½”λ“œ μ‹€ν–‰ μ‹œ, application.properties에 μ„€μ •ν•΄λ‘” 값보닀, location에 μ„€μ •λœ 값에 더 높은 μš°μ„ μˆœμœ„λ₯Ό λΆ€μ—¬

 

728x90
λ°˜μ‘ν˜•