mybatis +spring boot crud (postman)해보기

Lee1231234·2024년 5월 7일
  1. 스프링부트 생성

여기서 디펜던시에서 mysql,mybatis,lombok추가.

gradle을 사용했으므로 mysql연동 및 mybatis 맵퍼 연결 필요.

자신의 mysql 로컬호스트 포트번호와 맵퍼 위치를 지정해줌.

  1. 패키지 구분설정
    1. 데이터를 담아 이동할 VO필요
    2. 매핑할 Mapper필요
    3. Service,Controller필요
    4. config 필요
    따라서 패키지를 구분하여 폴더를 생성

  2. mybatiscofig 설정.

여기서 나오는어노테이션
@MapperScan : 내가 가진 패키지중 어디부분을 스캔하여 매핑인터페이스를 찾을것인가
@Value : 프로퍼티에 적힌 값을 초기값으로 입력

@ConfigurationProperties : 이거 공부하면서 처음 본건데 옛날처럼 데이터베이스를 xml로 하지않고 gradle로 사용할때 다중 DB를 사용시 prifix를 통해 어떤 DB를 사용할지 정할수 있음.
예를들어 Spring.seconde.datasource....으로 mongoDB를 gradle로 연결해놨으면 따로 config에서 설정할필요없이 바로 어노테이션 사용해서 넣기만하면 작동함.

  1. Vo,컨트롤러,서비스,맵퍼 설정

    1. vo

      @Data : lombok의 대부분 기능을 사용하는 어노테이션.

    2. Mapper

      Mapper.xml sql문이며 sql 매핑에 필요한 것.


자바에서 직렬화된 값이 들어갈 인터페이스 맵퍼.

  1. Service

  2. Controller

3 . postman을 통한 연동 확인.

  1. findAll
  2. insert
  3. update(put)
  4. delete

하면서 느낀것.

  1. Restful하기위해서 상태코드와 값을 주는건 맞지만 null로 입력하면 무조건 문제가 생김 아예 null이 존재해서는 안됨 crud에서 null은 치명적이기 때문에 null이 나오는지 안나오는지 확인해볼것.

  2. 어노테이션 @RequestMapping말고 @PostMapping @PutMapping 사용할것
    볼때 직관적이지 못함. 가능하면 어노테이션에서 crud를 확인할수있게 코드를 처리하는것이 좋다.

코드는 깃허브에 남겨놨습니다 DB만 연동하면 사용이 가능합니다.

profile
not null

0개의 댓글