MyBatis를 사용하는 프로젝트에서 데이터는 총 5개의 주요 지점을 통과하며 흐릅니다. 각 단계가 유기적으로 연결되어야 에러 없이 데이터가 DB까지 전달됩니다.

1. DTO (Data Transfer Object)

데이터를 실어나르는 바구니입니다. Lombok의 @Data를 사용하여 반복적인 코드를 줄입니다.

Java

@Data public class BetRequestDTO { private Long userId; private Long betAmount; private String gameType; }


2. Controller

프로젝트의 입구입니다. 사용자의 요청(HTTP Request)을 가장 먼저 맞이합니다.

Java

`@RestController @RequestMapping("/api/casino") @RequiredArgsConstructor public class CasinoController { private final CasinoService casinoService;

@PostMapping("/bet")
public String placeBet(@RequestBody BetRequestDTO dto) {
    casinoService.processGame(dto);
    return "SUCCESS";
}

}`


3. Service

프로젝트의 두뇌입니다. 실제 게임 로직과 규칙이 정의되는 곳입니다.

Java