1. build.gradle에 라이브러리 추가하기
...
dependencies {
...
// mongo
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
}
2. application.properties에 MongoDB 정보 추가하기
...
spring.data.mongodb.host=몽고디비 설치 ip
spring.data.mongodb.port=몽고디비 port
spring.data.mongodb.database=db명
spring.data.mongodb.username=계정
spring.data.mongodb.password=비밀번호
...
3. entity, repository 추가하기
JPA를 사용해 보신 분이라면 따로 공부하실 필요가 없을 정도로 비슷합니다.
.> src > main > java > packagename > test > entity > TestDataEntity.java
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.Data;
import lombok.ToString;
@Data
@Document("test_data")
@ToString
public class TestDataEntity {
@Id
private String _id;
private String name;
private int age;
private int score=100;
}
score=100과 같이 기본값을 설정할 수 있습니다.
.> src > main > java > packagename > test > repository > TestDataRepository.java
package board2.test.repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import board2.test.entity.TestDataEntity;
public interface TestDataRepository extends MongoRepository<TestDataEntity, String>{
}
spring data jpa처럼 findby... 모양으로 정의하여 메서드를 사용할 수도 있습니다.
4. service
insert
@Override
public void insertData() throws Exception {
TestDataEntity entity = new TestDataEntity();
entity.setName("chul");
entity.setAge(20);
entity.setScore(80);
testDataRepository.save(entity);
}
실행 결과
find
@Override
public List<TestDataEntity> findData() throws Exception {
return testDataRepository.findAll();
}
실행 결과
update
jpa와 마찬가지로 repository.save 메서드를 사용하여 update를 합니다. _id가 같은 것이 있다면 update, 없다면 save를 한다고 생각하면 됩니다.
@Override
public void updateData() throws Exception {
TestDataEntity entity = new TestDataEntity();
entity.set_id("623f05026eafcd1a8ccb4678");
entity.setName("updatedName");
testDataRepository.save(entity);
}
실행 결과
Delete
@Override
public void deleteData() throws Exception {
testDataRepository.deleteById("623f05026eafcd1a8ccb4678");
}
실행 결과
추가했던 데이터가 성공적으로 삭제되었습니다.
'Backend-Programming > Spring Boot' 카테고리의 다른 글
Spring Boot - Spring Security를 사용한 회원가입,비밀번호 암호화, 로그인, 로그아웃 구현하기(MariaDB) (0) | 2021.10.22 |
---|---|
Spring Boot - JPA를 사용하여 게시판구현하기 (0) | 2021.10.08 |
Spring Boot - 스프링 데이터 JPA 사용하기(MariaDB) (0) | 2021.10.07 |
Spring Boot - AOP사용하기(Aspect Oriented Programming) (0) | 2021.10.01 |