본문 바로가기

SpringBoot(JPA,Gradle)

[SpringBoot] Repository 생성

728x90

@Repository

- JpaRepository 인터페이스를 상속받아서 기본적인 CRUD작업이 가능하도록 해줌

package com.etty.day2.repository;

import com.etty.day2.model.entity.AdminUser;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
// JpaRepository<엔티티, 자료형> : 기본적인 CRUD 작업을 할 수 있게 하는 인터페이스
public interface AdminUserRepository extends JpaRepository<AdminUser, Long> {

    // select * from admin_user where userid = ?;
    Optional<AdminUser> findByUserid(String userid);
}

Optional<T>

- null이 올수 있는 값을 감싸는 Wrapper클래스로, NPE(Null Point Exception)가 발생하지 않도록 도와줌

- 예상치못한 NPE예외를 제공되는 메소드로 간단히 회피할 수 있어 복잡한 조건문 없이도 null값으로 인해 발생하는 예외를 처리

 

Optional 검색조건

Optional<T> findBy컬럼명1and컬럼명2...(매개변수타입1 매개변수명1, 매개변수타입2 매개변수명2 ...);

    // select * from admin_user where userid=? and userpw=?
    Optional<Users> findByUseridAndUserpw(String userid, String userpw);

 

 

728x90