Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스파르타코딩클럽
- Flutter
- MySQL
- til
- 컴퓨터구조론 5판
- 개인공부
- 백준
- Python
- 내일배움캠프
- 프로그래머스
- 개발자스터디
- 99클럽
- java
- 소프트웨어
- wil
- 스파르타내일배움캠프
- 코딩테스트
- Spring
- 항해
- 스파르타내일배움캠프TIL
- 국비
- 스파르타내일배움캠프WIL
- 자바
- 개발자블로그
- AWS
- 운영체제
- 중심사회
- 99일지
- 부트캠프
- 컴퓨터개론
Archives
- Today
- Total
컴공생의 발자취
Entity 상태 및 MySQL CLC 명령어 본문
728x90
반응형
💡 오늘의 학습 키워드
- Spring 입문주차 2주차 -
IoC & DI
MySQL CLC 명령어
@Component & @Autowired
3 layer 애너테이션
ORM
필수 패키지
영속성 컨텍스트
트랜잭션
Entity 상태
IoC & DI
: DI를 통해 IoC를 지킨다.
- IoC(제어의 역전) : 설계원칙
- DI(의존성 주입) : 디자인 패턴
MySQL CLC 명령어
- show databases; : 현재 몇 개의 데이터베이스가 있는지 확인 명령
- use database명; : 해당 database를 사용할 때 쓰는 명령어
- show tables; : 해당 데이터베이스에 어떤 테이블이 있는지 확인할 때 쓰는 명령어
- create database database명; : 데이터베이스 생성 명령어
* 참고한 블로그
@Component & @Autowired
- @Component : 해당 클래스를 Bean으로 등록
- @Autowired : 생성자 1개일 경우는 생략 가능(Spring 4.3이상) / Bean 주입
* 필드, 매서드, 생성자 가능 / But 생성자 사용을 지향
3 layer 애너테이션
* 내부적으로 가져다가 사용
- Service : @Service
- Repository : @Repository
- Controller
- @RestController
- @RequestMapping("/api")
필수 패키지
- controller
- service
- repository
- entity
- dto
ORM(Object-Relational Mapping)
: 객체와 데이터베이스를 매핑해주는 도구
영속성 컨텍스트
: Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간
트랜잭션
: 모든 SQL이 성공적으로 수행이 되면 DB에 영구적으로 변경을 반영하지만, SQL 중 단 하나라도 실패한다면 모든 변경을 되돌린다.
Entity 상태
- 비영속(Transient) : new 연산자를 통해 인스턴스화된 Entity 객체
- 영속(Managed)
- persist(entity) : 비영속 Entity를 EntityManager를 통해 영속성 컨텍스트에 저장하여 관리되고 있는 상태로 만듦
- 준영속(Detached) : 영속성 컨텍스트에 저장되었고 MANAGED 상태 즉, JPA가 관리하는 영속 상태의 Entity가 되었음
- 영속 -> 준영속
- detach(entity) : 특정 Entity만 준영속 상태로 전환
- clear() : 영속성 컨텍스트를 완전히 초기화
- close() : 영속성 컨텍스트를 종료
- 준영속 -> 영속
- merge(entity) : 전달받은 Entity를 사용하여 새로운 영속 상태의 Entity를 반환
- 영속 -> 준영속
- remove(entity) : 삭제하기 위해 조회해온 영속 상태의 Entity를 파라미터로 전달받아 삭제 상태로 전환
오늘의 궁금증
- Q : 객체의 불변성에 대해 궁금... ?
지난 날의 궁금증
- 아직 찾아보지 못 한 궁금증(더보기 ..Click!)
더보기
- Q : 참조는 reference인데 자바는 call by value로만 동작하는 것 아닌가?
- Q : wrapper클래스.. 그래서 무슨 기능들을 가지고 있는데?
- Q : Object.equals와 str.equals의 차이? // 요건 공식 문서를 찾아봐야겠어..
- Q : JDBC 이란?
- Q : ORM 이란?
개인과제
일단 제출할 레파지토리만 만들어봤다...
오늘의 회고
- 12시간 중 얼마나 몰입했는가?
하.. 진짜 열심히 몰입해서 공부했다고 생각은 하는데
뭔가 손틈 사이로 흘러내리는 모래알 같다.. 담아도 담아도 다 흘러버리는 게 담기는 게 있긴 한건지 의문이 든다.
24시간이 모자라 진짜
- 오늘의 생각
하나 밖에 안 든다.. 과제 제출할 수 있을까?
뭔가 과제 제출란 보고 심란해짐..
과제 제출란의 빈칸.. 6개!
- GitHub 링크 제출
- 수정, 삭제 API의 request를 어떤 방식으로 사용? (param, query, body)
- RESTful한 API를 설계했나요? 어떤 부분이 그런가? 어떤 부분이 그렇지 않은가?
- 적절한 관심사 분리를 적용하였나? (Controller, Repository, Service)
- API 명세서 작성 가이드라인을 검색하여 직접 작성한 명세서와 비교하고 차이점 설명
- 이번 과제 몇 단계까지 완성함?
다시 봐도 심란해진다.. 2, 3, 4, 5가 심란한 부분...
나 ERD도 생각 못했고 유스케이스 다이어그램도 생각 못했는데? 아 맞아 API 명세서도 작성해야지..
할 거 대따 많네 진짜! 3일 반 주고 강의 시간이 14시간인데 그거 공부하면서 저런 고민은 또 언제 해서 과제 제출하냐고ㅋㅋㅋㅋㅋ 으아아아ㅏㅏㅏ
그래도 난 할 수 있다. 화이팅👊
- 내일 학습할 것은 무엇인지
일단, 개인과제 제출해야 된다.
- 유스케이스 다이어그램 작성 -> RESTful한 설계, 관심사 분리(Controller, Repository, Service)
- API 명세서 작성 -> 수정, 삭제 request 방식(param, query, body)
- ERD 작성
// 해시태그 : til, 국비, 내일배움캠프, 부트캠프, 스파르타내일배움캠프, 스파르타내일배움캠프TIL, 스파르타코딩클럽
728x90
반응형
'💚 Spring' 카테고리의 다른 글
단위 테스트란 무엇일까? (2) | 2024.06.13 |
---|---|
Entity 연관 관계 (0) | 2024.05.23 |
ResponseEntity 및 ExceptionHandler (0) | 2024.05.21 |
3 Layer Architecture와 SQL (0) | 2024.05.16 |
Spring 입문 (0) | 2024.05.14 |