[이전 글 link] application.yml 파일 설정으로 local, server 환경에서 사용할 DB 정하기
- build.gradle dependencies 설정
- application.yml 파일 설정
- profile 설정
mysql 연결 확인
MySQL Command Line Client를 통해 지정한 데이터베이스에 초기 테이블이 제대로 생성되었는지 확인한다.
* 코드 상으로 설정한 초기 테이블 생성을 적용할 경우 application-server.yml 파일의 ddl-auto 옵션을 none 또는 create로 주어야 한다. create-drop으로 주어도 되지만 create-drop의 경우 서버 종료 시 테이블에 저장된 데이터가 drop 된다.
Postman으로 요청 전송하기
작성한 Controller 로직에 따라 postman으로 요청을 전송한다
요청 보낼 Controller 클래스 확인
CoffeeController.java
@RestController
@RequestMapping("/v11/coffees")
@Validated
public class CoffeeController {
private CoffeeService coffeeService;
private CoffeeMapper mapper;
public CoffeeController(CoffeeService coffeeService, CoffeeMapper coffeeMapper) {
this.coffeeService = coffeeService;
this.mapper = coffeeMapper;
}
@PostMapping
public ResponseEntity postCoffee(@Valid @RequestBody CoffeePostDto coffeePostDto) {
Coffee coffee = coffeeService.createCoffee(mapper.coffeePostDtoToCoffee(coffeePostDto));
return new ResponseEntity<>(
new SingleResponseDto<>(mapper.coffeeToCoffeeResponseDto(coffee)),
HttpStatus.CREATED);
}
.
.
.
}
CoffeePostDto.java
@Getter
public class CoffeePostDto {
@NotBlank
private String korName;
@NotBlank
@Pattern(regexp = "^([A-Za-z])(\\s?[A-Za-z])*$",
message = "커피명(영문)은 영문이어야 합니다(단어 사이 공백 한 칸 포함). 예) Cafe Latte")
private String engName;
@Range(min= 100, max= 50000)
private int price;
@NotBlank
@Pattern(regexp = "^([A-Za-z]){3}$",
message = "커피 코드는 3자리 영문이어야 합니다.")
private String coffeeCode;
}
Postman으로 요청 보내기
연결한 mysql에 제대로 반영되었는지 확인
mysql Command Line Client를 통해 확인하기
mysql Workbench를 통해 확인하기
서버 종료 후 테이블 확인하기
서버를 종료하고 다시 테이블을 확인하여도 전에 저장한 데이터가 그대로 남아있는 것을 확인할 수 있다.
application-server.yml 파일의 ddl-auto 옵션을 none으로 주고 다시 서버 재연결을 하는 경우 역시 서버 시작 시 저장된 데이터가 변경이나 삭제되지 않고 유지되어 다시 테이블을 확인하여도 데이터가 남아있는 것을 확인할 수 있다.
'diary > codestates (be39)' 카테고리의 다른 글
07/19/22 [springboot-gradle] application.yml 파일 설정으로 local, server 환경에서 사용할 DB 정하기 (0) | 2022.07.19 |
---|---|
06/13/22 데이터베이스 + SQL 회고 (0) | 2022.06.14 |
06/03/22 Data Structure + Algorithm 회고 (0) | 2022.06.03 |
05/26/22 daily 회고 (stack+queue) (0) | 2022.05.27 |
05/24/22 재귀 함수 너무 어렵고 어렵네요 어렵습니다 (0) | 2022.05.25 |