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를 공부하며 작성한 것이라 틀릴 수 있고, 이후 수정이 들어갈 수 있다.
참고 바람