JAP 애플리케이션 시작
지난번 블로그 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();
}
}
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;
}
}
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으로 엔티티 객체를 중심으로 개발 할수 있는 쿼리이다.
Author And Source
이 문제에 관하여(JAP 애플리케이션 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wkdrjswkd/JAP-애플리케이션-시작저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)