JAP 애플리케이션 시작

3324 단어 JPAJPA

지난번 블로그 intellij 설치 오류

build.gradle
testImplementation group: 'com.h2database', name: 'h2', version: '1.4.199'
->
implementation group: 'com.h2database', name: 'h2', version: '1.4.199'

java 버전 11버전 이상 사용시
// https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
디펜던시의 추가가 필요하다.

Entity class 생성

package hellojpa;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
//@Table(name = "USER")  테이블 명 있을때
public class Member {

    @Id
    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

JPA 기본적인 실습

public class JpaMain {
    public static void main(String[] arg){
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); //db당 1개 애플리케이션 전체에서 공유
        EntityManager em = emf.createEntityManager(); //요청이 올때마다 썻다가 버렸다가 쓰래드 간 공유는 절대 하면 안된다.
        EntityTransaction tx = em.getTransaction(); // jap의 모든 데이터 변경은 트랜잭션 안에서 실행
        tx.begin();

//        입력
//        try{
//            Member member = new Member();
//
//            member.setId(2L);
//            member.setName("HelloB");
//            em.persist(member);
//
//            tx.commit();
//        } catch (Exception e){
//            tx.rollback();
//        } finally {
//            em.close();
//        }

//        불러오기 ,삭제
//        try{
//            Member findMember = em.find(Member.class,1L);
//            System.out.println(findMember.getId());
//            System.out.println(findMember.getName());
//
//            em.remove(findMember);
//
//            tx.commit();
//        } catch (Exception e){
//            tx.rollback();
//        } finally {
//            em.close();
//        }

//        try{
//            Member findMember = em.find(Member.class,2L);
//            findMember.setName("HelloJPA");
//            em.persist(findMember);
//
//            tx.commit();
//        } catch (Exception e){
//            tx.rollback();
//        } finally {
//            em.close();
//        }


        try{
            List<Member> result = em.createQuery("select m from Member as m", Member.class)
                    .setFirstResult(5)
                    .setMaxResults(10)
                    .getResultList();
            for (Member member : result){
                System.out.println("ttttttt=" + member.getName());
            }

            tx.commit();
        } catch (Exception e){
            tx.rollback();
        } finally {
            em.close();
        }
        emf.close();
    }
}

해당 쿼리는 JPQL으로 엔티티 객체를 중심으로 개발 할수 있는 쿼리이다.

좋은 웹페이지 즐겨찾기