수강한 클립명
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.
완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.
미션 일정
방법
07.JPA (Java Persistent API)
ORM (Object Relational Mapping)으로, RDB 데이터 베이스의 정보를 객체지향으로
손쉽게 활용할 수 있도록 도와주는 도구 이다.
Object(자바객체)와 Relation(관계형 데이터베이스) 둘간의 맵핑을 통해서 보다 손쉽게 적용할 수 있는 기술을 제공해준다.
또한 쿼리에 집중 하기 보다는 객체에 집중 함으로써, 조금 더 프로그래밍 적으로 많이 활용 할 수 있다.
*gradle compile에 주소만 입력하면 자동적으로 업데이트가 되는듯 하다 (STS의 maven이랑 활용도가 비슷한거 같다.)
-> 프로젝트 하는사람의 프로그램 버전, 컴파일등을 맞추기 위함과 동시에 편리성때문에 한다고 알고있다.
08.Entity 생성과 Repository
Camel Case : 단어를 표기할 때 첫 문자는 소문자로 시작하며 띄어쓰기 대신(대문자)
로 단어를 구분
Java의 변수를 선언할 때 camelCase로 선언한다
ex) phoneNumber, createdAt, updatedAt
Snake Case : 단어를 표기할 때 모두 소문자로 표기하며, 띄어쓰기 대신 ( _ ) 로 표기
DB컬럼에 사용
ex) phone_number, created_at, updated_at
API를 정의하기에 따라 다르지만, 주로 API통신 규격에는 구간에서는 Snake Case를 많이 사용 합니다.
JPA에서의 entity
Entity : JPA에서는 테이블을 자동으로 생성해주는 기능 존재.
DB Table == JPA Entity
Annotation 용도
@Entity 해당 Class가 Entity 임을 명시
@Table 실제 DB테이블의 이름을 명시
@Id Index primary Key를 명시
@Column 실제 DB Column의 이름을 명시
@GeneratedValue Primary key 식별키의 전략 설정
--
JPA는 Entity 및 column은 자동으로 camel case -> DB의 snake_case에 매칭 시켜 줍니다.
<사진참조>
--
Repository
따로 쿼리문을 작성하지 않아도 기본적인 CRUD를 만들 수 있다.
<사진참조>!!
09.JPA를 통한 CRUD 배우기 - 1_1
@Autowired (의존주입) - 스프링이 객체를 직접 관리하겠다
spring.jpa.show-sql=true; <- DB 가 어떻게 실행하는지 보겠다.
10. JPA를 통한 CRUD 배우기 - 1_2
*JPA의 repository를 쓰면 (상속받으면) 기본적으로 CRUD를 제공해준다.
CRUD하는데 엄청 쉽다.
--
READ
findById : 단 한건을 가져오는는 메소드
findAll : 전부 다 가져오는 메소드
ifPresent : selectUser 데이터가 있으면 보겠다
<사진참조 - 사용빙법>
JPA를 활용하면 객체를 통해 DB를 관리할수 있어
기존에 알고있던 get으로 일일히 불러올 필요가 없어 엄청 코드가 단순해지고 쉬원해진다.
--
UPDATE
update에는 id값을 set 하지않는다 (findById에서 이미 가져오므로)
따로 지정하는경우 set하는 값만 계속 바뀐다
* set값으로 바꿀것만 지정해주면된다
<사진참조 - 사용빙법>
--
11.JPA를 통한 CRUD 배우기 - 2
Delete
실제 사용방법은 DeleteMapping("/api/user") 이런식으로 매핑해주고
매개변수에 @Requestparam Long id 이런식으로 매개변수를 받아온다.
하지만 여기서는 테스트코드 이기때문에 지금은 동작안하고 @Test 어노테이션을 쓴다.
>Delete도 JPA를 쓰면 코드가 단순해지고 가독성이 좋아서 편리해진다.
<사진 필 참조>
[패스트캠퍼스] 인텔리제이 단축키 기본 - 1 (0) | 2021.06.19 |
---|---|
패스트캠퍼스 Java 웹 개발 마스터 올인원패키지 Online 자바인강 챌린지 참여 후기 (0) | 2021.05.24 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 26회차 미션 - 자바인강 (2) | 2021.05.13 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 25회차 미션 - 자바인강 (0) | 2021.05.11 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 24회차 미션 - 자바인강 (0) | 2021.05.09 |