본문 바로가기

개발스터디/스프링부트 JPA 스터디 (21년)

(6)
[JPA] 5. JPA Repository 인터페이스 5-1. Repository란? Spring Data JPA에서는 여러 종류의 인터페이스의 기능을 통해서 JPA 관련 작업을 별도의 코드 없이 처리할 수 있게 지원합니다. 예를들면 인터페이스의 메서드를 호출하는 형태에 + 기능에 따라서 상속 구조로 추가적인 기능을 제공합니다. 이때 사용하는 인터페이스를 Repository라고 합니다. CRUD 작업 페이징 정렬 Repository CrudRepository PagingAndSortRepository JpaRepository 5-2. Jpa Repository 사용하기 사실 Repository를 생성할때는 인터페이스를 만들고, JpaRepository를 상속 하는것 만으로도 작업이 끝납니다. package com.example.demo; import org..
[JPA] 4. JPA와 DB의 동작 관계 springboot의 최고장점은 스프링보다 훨씬 환경설정이 쉽다는것입니다. 사실 application.properties 파일을 사용하는것도 굉장히 획기적인 기술적 발전이였는데, 저한테 익숙한 yaml 파일로도 설정을 할수 있다니!!!!!???? 너무 좋아. 자동으로 필요한 테이블을 생성하거나 JPA를 이용할때 발생하는 SQL등을 확인하기 위해서는 application.property 파일이나 application.yml에 추가 설정이 필요합니다. 구글링하면 간단하게 나오는데, 기본적으로 세팅해서 쓰는 부분은 위에꺼는, JPA 처리시에 발생하는 SQL을 보여줄지 결정하는 부분이고 옵션체크하게되면, 이런식으로 console에 출력되고, 로깅을 남길수 있네요. Hibernate: drop table if e..
[JPA] 3. 엔티티 클래스와 어노테이션 이번시간에는 실습을 통해서 JPA를 어떤 방식으로 사용하면 되는가에 대해서 알아보겠습니다. JPA에서는 이 2가지 요건만 생각하면 됩니다. jpa를 통해서 관리하게 되는 객체를 위한 엔티티 클래스 엔티티 객체들을 처리하는 기능을 가진 repository 이중에서 repository는 JPA에서 제공하는 인터페이스로 설계하는데 스프링 내부에서 자동으로 객체를 생성하고 실행하는 구조라 개발자 입장에서는 단순히 인터페이스를 하나 정의하는 작업만으로 충분합니다. 3-1. 엔티티 클래스 작성 예제 프로젝트에 'member' 패키지를 추가하고, Member라는 클래스를 만듭니다 package com.jojoldu.webservice.domain.member; import javax.persistence.*; @En..
[JPA] 2. 객체 매핑이란? 우선 JPA를 사용하기 위해서 예제를 만들어 보겠다. JPA란 한줄 요약하자면, DB와 JAVA가 서로 잘 어울릴수 있도록 매핑하는 작업을 해주는 녀석이다. 그렇다면, 레거시에서 VO 형태에서 이런식으로 데이터 바인딩을 하는 것은 모두에게 익숙할 것이다. String id; String username; //getter ,setter //to string 하지만, 이와 같이 데이터 바인딩을 하여 DAO 단에서 mybatis를 통해 sql매핑을 해주던 방식이 한단계 발전한것이 JPA 라고 생각을 하고 있다. 내가 이해한 대로는 그런거 같다. 그렇다면, 간단하게 예제를 좀 챙겨서 보면서 맛을 보자. JPA 란 녀석에 대해서. 여기 아주 간단한 Member라는 DB 테이블이 있다. # 회원 테이블 # CREA..
[JPA] 1. JPA란 어떤것인가? JPA ( Java Persistent API ) 란? 자바진영의 ORM 기술 표준이다. JPA는 애플리케이션과 JDBC 사이에서 동작한다. ORM( Object relational Mapping ) 은 말그대로 객체와 관계형 데이터베이스를 매핑해주는 기술을 뜻한다. 과거 Legacy 기준으로 옛날 이야기를 조금 해보자면, JDBC API는 레거시 형태의 JAVA에서 데이터베이스를 접근하는 기술이었다. public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection c = DriverManager.getConnection("jdbc..
[4주차] 진행사항 배찬: 1.로그인, 회원가입 정규표현식 수정 2. 회원가입 로직 수정 3. 비밀번호 암호화 4.비밀번호암호화 테스트(salt 추가) 5.jquery없이 ajax xmlhttprequest로그인기능 테스트 6. 세션 추가 규동: 1. 좌석예매 css, js 국평: 1. paypal jsp 연동 2. sandbox paypal 계정 만들기, App 만들기 3. Postman- Auth Key 받기 재엽 1. 영화 rest api 자바 코드 생성 2. json 데이터 파싱