![[Spring/기초] Repository](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0j9gU%2FbtsDKbiSojW%2FxXn5ztgFBZmFbC0P4vTPO1%2Fimg.png)
[Spring/기초] RepositorySpring/Spring 기초2024. 1. 23. 04:29
Table of Contents
728x90
반응형

스프링 프레임 워크에서 데이터 베이스와 상호작용을 위해서 사용하는 것이 리파지토리이다.
리파지토리는 데이터를 영속적으로 저장하고 검색하는데 사용되며 객체 지향적으로 데이터를 다룰 수 있도록 도와준다.
1. Spring Data Repository
Repository를 사용하면 데이터베이스 액세스 코드를 직접 작성하지 않아도 간편하게 데이터베이스와 상호 작용할 수 있다.
import org.springframework.data.repository.Repository;
public interface UserRepository extends Repository<User, Long> {
User findByUsername(String username);
void save(User user);
void delete(User user);
}
2. 사용 예시(CRUD)
1. Create(데이터 저장)
User newUser = new User("john_doe", "John Doe", "john@example.com");
userRepository.save(newUser);
Repository 에서 제공되는 save 메서드를 사용해서 User를 저장한다.
2. Read(데이터 조회)
User foundUser = userRepository.findByUsername("john_doe");
System.out.println("Found User: " + foundUser);
findBy다음 내가 원하는 걸 적고 찾는걸 적으면 SELECT기능을 이용할 수 있다.
3. Update(데이터 수정)
User userToUpdate = userRepository.findByUsername("john_doe");
userToUpdate.setEmail("john_updated@example.com");
userRepository.save(userToUpdate);
원하는 값을 찾고 값을 업데이트 한다.
setEmial은 엔티티 클래스에 다음과 같이 정의되어 있다고 치자
public void updateEmail(String newEmail) {
this.email = newEmail;
}
4. Delete(데이터 삭제)
User userToDelete = userRepository.findByUsername("john_doe");
userRepository.delete(userToDelete);
Repository 에서 제공되는 delete 메서드를 사용해서 삭제한다.
3. 결론
이렇게 데이터 액세스 계층을 만들었다. 서비스계층과 나눔으로서 코드의 모듈화와 유지보수성이 향상되었다.
가독성과 확장성 또한 확장되었다.
728x90
반응형
'Spring > Spring 기초' 카테고리의 다른 글
[Spring/기초] 환경 변수 파일 사용하기 (env.properties) (0) | 2024.05.28 |
---|---|
[Spring/기초] Service (0) | 2024.02.07 |
[Spring/기초] TDD (0) | 2024.01.21 |
[Spring/기초] spring MVC (0) | 2024.01.21 |
[Spring/기초] Entity 만들기 (0) | 2024.01.20 |
@코딩하는 자연대생 :: 자연대생도 코딩을 하고 싶어
Coding, Software, Computer Science 내가 공부한 것들 잘 이해했는지, 설명할 수 있는지 적는 공간