[JPA] JPA repository = dao + xml ?

SEOP·2023년 4월 24일
0

JSP 팀 프로젝트를 하다가 Spring 팀 프로젝트를 넘어갔을 때 처음에 귀찮았던 점이 하나 있었다.

JSP에서는 DAO(=Data Access Object)에서 쿼리문을 작성해주었다.
그러나 Spring에서는 .xml 파일에서 쿼리문을 작성해주었는데, 하나의 과정이 더 생겼다고 생각하니
처음에는 의문도 들었고, 여간 귀찮은 것이 아니었다.

Spring에서 작업하는 것이 이제는 익숙해졌지만,
SpringBoot JPA를 공부하니 더 편리해졌다는 것을 느끼게 된다.
쿼리문을 작성할 필요가 없다는 것을 느낀다.

예를 들어, 아래는 Spring에서 Mybatis를 사용해서 작성하는 쿼리문(xml파일)
물론 DAO파일은 따로 있다.

<insert id="insertProduct" parameterType="ProductsVO">
  
  <![CDATA[
    INSERT INTO PRODUCTS
    VALUES
    (
    #{product_id},
    #{product_name_en},
    #{product_name_kor},
    #{model_number},
    #{product_brand},
    #{product_price},
    #{product_release_date},
    #{product_color}
    )
  ]]>
  
</insert>

아래는 SpringBoot에서 JPA를 사용해서 작성한 코드(repository파일)

    public void createItemTest(){
        Item item = new Item();
        item.setItemNm("상품이름");
        item.setPrice(20000);
        item.setItemDetail("상품 상세 설명");
        item.setItemSellStatus(ItemSellStatus.SELL);
        item.setStockNumber(100);
        item.setRegTime(LocalDateTime.now());
        item.setUpdateTime(LocalDateTime.now());
        Item savedItem = itemRepository.save(item);
    }
    

테이블이 생성되었고, 데이터가 들어갔다.
내 입장에서는 repository를 사용하는 것이 DAO와 xml파일을 합친 것과 같다고 느껴졌다.
반박시 내 말 틀림

혹시나 누군가 이 글을 읽는다면,
SpringBoot와 JPA를 공부하며 작성한 것이라 틀릴 수 있고, 이후 수정이 들어갈 수 있다.
참고 바람

profile
응애 나 애기 개발자

0개의 댓글