1. 의존성 추가
// gradle 사용 시 build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
}
// maven 사용 시 pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
2. 연결 설정
// application.properties
spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase
spring.data.mongodb.database=mydatabase
// application.yml
spring:
data:
mongodb:
uri: mongodb://localhost:27017/mydatabase
database: mydatabase
3. 엔티티 및 레포지토리 설정
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
private int age;
// Getter, Setter 작성
}
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserRepository extends MongoRepository<User, String> {
User findByName(String name);
}
4. 서비스, 컨트롤러 구현
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User saveUser(User user) {
return userRepository.save(user);
}
}
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping
public List<User> getUsers() {
return userService.getAllUsers();
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.saveUser(user);
}
}
5. 실행
mongod --dbpath /your/db/path
'백엔드 > Spring Boot' 카테고리의 다른 글
[Spring Boot] 메이븐 업데이트 안 될 때 (0) | 2023.02.23 |
---|---|
[Spring Boot] IntelliJ 스프링 프로젝트 시작 (0) | 2022.12.03 |
[Spring Boot] MyBatis 연동 시 발생하는 오류들 (0) | 2021.07.15 |
[Spring] git ignore (0) | 2021.07.07 |
[Spring] web.xml 한글 인코딩 (0) | 2021.06.03 |