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
'SpringBoot(JPA,Gradle)' 카테고리의 다른 글
[SpringBoot] 로그 (0) | 2023.03.27 |
---|---|
[SpringBoot] CRUD 단위 테스트 (0) | 2022.06.22 |
[SpringBoot] DB테이블 연결할 Class 생성 (0) | 2022.06.22 |
[SpringBoot] Spring Boot와 Oracle 19C 연결 (0) | 2022.06.21 |
[SpringBoot] @RestController, @RequestMapping, @GetMapping (0) | 2022.06.21 |