[JPA] 어플리케이션 CRUD 작성하기

반응형

CRUD

  • Create  : 입력
  • Read   : 조회
  • Update : 수정
  • Delete  : 삭제

1) Create 입력

 - 객체를 저장하기 위해 EntityManager의 persist() 메서드를 사용한다.

 - JPA는 전달된 객체의 어노테이션을 분석하여 sql문을 생성하고 데이터베이스에 전달합니다.

 private static void insertLogic(EntityManager em) {
        Book book = new Book();
        book.setNo(1L);
        book.setTitle("자바의 신");
        book.setPrice(20000);
        
        //Save
        em.persist(book);
}
 

2) Update

 - Update는 별다른 메서드 없이 클래스의 값 변경으로 update가 가능하다.

 private static void logicInsertAndUpdate(EntityManager em) {
        Book book = new Book();
        book.setNo(2L);
        book.setTitle("곰브리치 세계사");
        book.setPrice(30000);
        
        //저장
        em.persist(book);
        
        //update
        book.setPrice(50000);
    }

3) Read (1건)

 - EntityManager의 find() 메서드 사용합니다.

 - 찾을 객체의 클래스의 키 값으로 엔티티 하나를 조회한다.

 - 결과값을 객체 값으로 반환합니다.

 private static void logicFindOne(EntityManager em) {
        //조회
        Book book = em.find(Book.class, 1L);
        System.out.println(book);
    }
 

4)Read(List)

 private static void logicFindList(EntityManager em) {
        //List Select
        TypedQuery<Book> query = em.createQuery("select b from Book b", Book.class);
        List<Book> list = query.getResultList();
        
        for(Book book : list) {
            System.out.println(book);
        }
    }
 

5)Delete(삭제)

 - EntityManger의 remove함수 사용합니다.

private static void logicFindOneAndDelete(EntityManager em) {
        Book book = em.find(Book.class, 2L);
        em.remove(book);
}
728x90
반응형