Spring의 데이터베이스 액세스.
3686 단어 programmingbeginnerstutorialjava
Spring Boot에서 Spring Data JPA는 Spring Data와 JPA의 장점을 결합합니다.
JDBC 세계에서 우리는 데이터베이스에 액세스하기 위해 코드베이스 내부에 SQL 쿼리를 포함해야 합니다. JPA는 JpaRepository를 통해 많은 CRUD 관련 메서드를 제공하여 모든 복잡성을 숨깁니다.
한 번 보자
위의 코드는 사용자 개체를 데이터베이스의 사용자 테이블에 매핑하고 있습니다. 사용자 테이블은 "first_name"및 "last_name"두 개의 열로 구성됩니다. @Column 주석은 User 테이블 내부의 열을 정의합니다.
JPA는 많은 주석을 지원합니다. @Table 주석은 테이블의 인덱스를 정의할 수 있습니다. 아래 샘플 코드를 살펴보십시오.
위에서는 first_name 열에 "name_index"라는 인덱스 이름을 생성하고 있습니다.
JPA가 없는 데이터 액세스 계층:
JDBC는 데이터베이스에 액세스하는 탁월한 방법입니다. JDBC는 데이터베이스와 통신하기 위해 SQL 쿼리를 작성해야 하며, Statement, ResultSet 등을 사용하여 SQL 문을 준비하고 데이터베이스에서 각각 결과를 가져옵니다.
아래에서 살펴보겠습니다-:
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT first_name FROM Customers WHERE last_name = 'Doe'");
여기서는 명령문 개체를 만들고 SQL 쿼리를 제공하여 그것에 대해 executeQuery를 호출합니다. ResultSet 개체에는 쿼리에서 반환된 모든 결과가 포함됩니다. 이제 반복자를 사용하여 결과 집합 내의 항목을 반복할 수 있습니다.
마찬가지로 insert 문은 다음과 같을 수 있습니다.
Statement stmt = connection.createStatement();
stmt.execute("INSERT INTO user (FIRST_NAME,LAST_NAME) VALUES (1,'John','Dow')");
JPA를 사용한 데이터 액세스 계층
JPA가 위의 두 가지 데이터베이스 작업을 수행하는 방법을 살펴보겠습니다.
Spring Data Jpa는 모든 CRUD 메소드를 구성하는 JpaRepository를 노출합니다. 도메인 개체에 대한 리포지토리를 정의하면 이러한 메서드를 호출할 준비가 된 것입니다.
사용자를 위한 리포지토리 인터페이스를 만들어 봅시다.
@Repository 어노테이션은 Spring Boot가 인터페이스를 스캔하고 시작 시 사용할 수 있도록 하도록 지시합니다. 최소한 간단한 CRUD 사용 사례에서는 필요하지 않기 때문에 인터페이스 내부에 메소드를 생성하지 않았다는 것을 알 수 있습니다.
이러한 모든 작업은 즉시 JpaRepository에서 지원되며 이를 확장하고 있습니다.
이제 Jpa에서 Jdbc의 동일한 선택 및 삽입 작업을 비교해 봅시다.
우리가 할 수 있는 모든 개체를 검색해야 하는 경우 Select와 같이
User user = userRepository.findAll();
삽입처럼 사용자를 삽입해야 하는 경우 할 수 있습니다.
userRepository.save(user);
JDBC 구현보다 훨씬 간단합니다.
다른 예를 살펴보겠습니다.
주어진 이름을 가진 모든 사용자를 찾습니다.
특정 열을 검색하려면 "findBy"를 사용하십시오.
// find rows by the first name.
userRepository.findByFirstName(String firstName);
비슷하게,
// find rows by the last name.
userRepository.findByLastName(String lastName);
나는 이 포스트를 위해 여기에서 멈출 것이다. 다음 포스트에서는 JPA를 사용하여 더 복잡한 SQL 쿼리를 처리하는 방법을 작성하겠습니다.
비디오 자습서를 살펴보고 싶다면 YouTube 👉에 Spring Boot 재생 목록이 있습니다Spring Boot Tutorial Series.
좋은 기술 콘텐츠를 작성하고 덜 스팸으로 유지하려는 의도로 다양한 플랫폼에서 프로그래밍하는 방법에 대해 매일 게시합니다.
당신도 나를 찾을 수 있습니다 👇
Youtube | |
함께 배워요💪💪
행복한 코딩 💻
Reference
이 문제에 관하여(Spring의 데이터베이스 액세스.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/s_awdesh/database-access-in-spring-384c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)