Mac| MongoDB와 SpringBoot 연동

리진아·2024년 12월 24일
0

PolishPix

목록 보기
4/7
post-thumbnail

오늘은 몽고db와 스프링부트 연동 후에 간단한 데이터 출력까지 해볼 예정입니다.

스프링부트는 이클립스 툴을 사용하고 있고 몽고db는 compass 사용 중입니다.

우선 임의의 데이터가 있습니다.

1. 의존성 기입

build.gradle에 mongodb 의존성을 기입해줍니다.

implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'

2. application.propertise 추가

spring.data.mongodb.uri=mongodb+srv://mnb2098:<비밀번호>@polishpix.54gxv.mongodb.net/PolishPix
spring.data.mongodb.database=PolishPix

MongoDB 연결할 때 쓴 url과 database 이름을 넣어주세요.

3. 코드 작성

  1. User.java 생성
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;
}
  1. UserRepository.java 생성
import org.springframework.data.mongodb.repository.MongoRepository;
import com.main.sub.Entity.*;

public interface UserRepository extends MongoRepository<User, String>{

}
  1. UserDto.java 생성
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;
	}
}
  1. 마지막 UserController.java 생성
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();
	}
	
		
}

4. 결과 확인

이후 localhost:8080/user 주소를 입력해줍니다.

profile
알맹이가 가득 찬 개발자가 되기 위해 한 걸음 더 다가가는,

0개의 댓글