1. application.properties 설정
#MongoDB configuration
spring.data.mongodb.uri=//하단 설명참조
spring.data.mongodb.database=<데이터베이스명>
✔️spring.data.mongodb.uri
클러스터를 생성할 때, 메모해놨던 코드를 사용해야한다.
Add your connection string into your application code 밑에 가려져있던 저 부분을 복붙해온다음에
DB 사용자명, DB 비밀번호부분을 내 것으로 수정하면 된다.
✔️spring.data.mongodb.database
연동하고자하는 database명을 적어주면 된다.
database가 없으면 미리 생성해줘야한다.
2. 디렉토리 경로
빨간색 체크 표시 되어있는게 mongoDB 연동 테스트 코드다.
3. 코드
✅TestUser
package Project_1st.test.entity;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "testUser")
@Getter
@Setter
public class TestUser {
@Id
private String id;
private String name;
// Constructors
public TestUser() {}
public TestUser(String name) {
this.name = name;
}
}
@Document(collection = "testUser")
-> TestUser 엔티티를 testUser 컬렉션에 매핑한다.
(컬렉션을 미리 만들어두지 않아도 testUser 컬렉션이 자동으로 생성된다.)
✅TestUserRepository
package Project_1st.test.repository;
import Project_1st.test.entity.TestUser;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface TestUserRepository extends MongoRepository<TestUser, String> {
}
MongoRepository 인터페이스는 기본적인 CRUD 작업을 수행하게끔 메서드를 제공한다.
✅MongodbTestApplication
package Project_1st.test;
import Project_1st.test.entity.TestUser;
import Project_1st.test.repository.TestUserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
@SpringBootApplication
@EnableMongoRepositories(basePackageClasses = TestUserRepository.class)
public class MongodbTestApplication implements CommandLineRunner {
@Autowired
private TestUserRepository testUserRepository;
public static void main(String[] args) {
SpringApplication.run(MongodbTestApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
// 데이터 삽입
TestUser user = new TestUser("ururuwave");
testUserRepository.save(user);
// 데이터 조회
testUserRepository.findAll().forEach(System.out::println);
}
}
✔️@EnableMongoRepositories(basePackageClasses = TestUserRepository.class)
->@EnableMongoRepositories 어노테이션이 있으면 지정한 패키지내의 모든 리포지토리 인터페이스를 스캔한다.
TestUserRepository.class가 위치한 패키지 기준으로 리포지토리를 스캔한다.
✔️ CommandLineRunner를 구현하여 TestUser를 저장하고 조회한다.
4. 결과
MongoDB Compass로 확인한 결과 'ururuwave'사용자가 잘 들어왔음을 알 수 있다.
'프로젝트일지' 카테고리의 다른 글
개인프로젝트 일지_6 | 프론트엔드와 백엔드 연동하기 (0) | 2024.06.05 |
---|---|
개인프로젝트 일지_4 | MongoDB Atlas 클러스터 생성 및 설정 (0) | 2024.06.05 |
개인프로젝트 일지_3 | MySQL, JPA 스프링 부트 연동 테스트하는 법 (0) | 2024.06.05 |
개인 프로젝트 일지_2 | AWS RDS mysql 설정 (0) | 2024.06.05 |
개인 프로젝트 일지_1 | 프로젝트 기획 및 설계 (0) | 2024.06.04 |