오늘은 몽고db와 스프링부트 연동 후에 간단한 데이터 출력까지 해볼 예정입니다.
스프링부트는 이클립스 툴을 사용하고 있고 몽고db는 compass 사용 중입니다.
우선 임의의 데이터가 있습니다.
build.gradle에 mongodb 의존성을 기입해줍니다.
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
spring.data.mongodb.uri=mongodb+srv://mnb2098:<비밀번호>@polishpix.54gxv.mongodb.net/PolishPix
spring.data.mongodb.database=PolishPix
MongoDB 연결할 때 쓴 url과 database 이름을 넣어주세요.
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.Data;
@Data
@Document(collection = "user")
public class User {
@Id
private String _id;
private String email;
private String password;
private String phone;
private String name;
private String profile;
}
import org.springframework.data.mongodb.repository.MongoRepository;
import com.main.sub.Entity.*;
public interface UserRepository extends MongoRepository<User, String>{
}
import com.main.sub.Entity.User;
import lombok.Data;
@Data
public class UserDto {
private String email;
private String password;
private String phone;
private String name;
private String profile;
public User toEntity() {
User user = new User();
user.setEmail(email);
user.setPassword(password);
user.setPhone(phone);
user.setName(name);
user.setProfile(profile);
return user;
}
}
import java.util.List;
import org.springframework.web.bind.annotation.*;
import com.main.sub.Entity.User;
import com.main.sub.Repository.UserRepository;
import com.main.sub.Dto.UserDto;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor // DI
@RestController // 데이터 리턴 서버
public class UserController {
// DI
private final UserRepository userRepository;
@GetMapping("/user")
public List<User> findAll() { // 리턴을 JavaObject로 하면 스프링 내부적으로 JSON으로 자동 변환 해준다.
return userRepository.findAll();
}
}
이후 localhost:8080/user 주소를 입력해줍니다.