UML
유스케이스 기호
https://cafe.naver.com/hamminglab/21526
실사례https://cafe.naver.com/hamminglab/17958
유스케이스 다이어그램
- 포함관계는 반드시 포함해야한다. include
- 확장관계는 포함되지 않아도 된다.(선택사항) extand
중복관계 제거
유스케이스에서는 중복을 제거한다.
예제 확인
네이티브 쿼리
https://cafe.naver.com/hamminglab/21525
https://cafe.naver.com/hamminglab/20387
1. JPA
- CRUD
- Sort(내림차순)
- 페이지당 개수
위 기능은 JPA의 프로퍼티로 자동 구현
아래와 같이 상속하여 사용
public interface MemberRepository extends JpaRepository<Member, Long> {
List<UsernameOnly> findProjectionsByUsername(String username);
}
문제는 실무에서는 JPA Criteria를 거의 안쓴다! 대신에 QueryDSL를 사용하기 때문이다.
2. JPQL 을 사용할수도 있다.
- 근데 이거 쓰느니 그냥.. mybatis가 낫다
3. QueryDSL: 통계 쿼리처럼 매우 복잡한 SQL은 어떻게 하나요?
- 거의 다 QueryDSL로 처리하고, DTO로 뽑아낸다.
MyBatis
동적SQL
마이바티스의 가장 강력한 기능 중 하나는 동적 SQL을 처리하는 방법이다.
동적으로 SQL 을 구성하는 것이 얼마나 힘든 작업인지 이해할 것이다. 간혹 공백이나 콤마를 붙이는 것을 잊어본 적도 있을 것이다.
ex) trim(lower(입력데이터)), or upper() 등으로 공백을 제거하고... 대소문자 하나로 통일하고...
마이바티스의 다른 엘리먼트의 사용을 최대한 제거하기 위해 OGNL 기반의 표현식을 가져왔다.
- if
- choose (when, otherwise) -> switch (case, default)와 동일
- trim (where, set)
- foreach
DB
DDL로 스키마 조작(== database)
DBMS client or SQL file
-> create database test07; 시 스키마 생성됨.
-> drop database test10; 시 스키마 삭제됨
alter : 수정
데이터 수집 사이트
https://cafe.naver.com/hamminglab/17977
DB 관련 확장자
쿼리는 .sql,
테이블은 .xlsx, .csv(콤마나 공백으로 데이터 필드구분되어있음)
sql의 분류(3D+TCP)는 231018 참조
구성요소
- Table
- View: 가상뷰. 테이블을 수정하지 않고 확인
- Stored: 매크로
- Functioin: 사용자 정의 함수
- Index: 색인(검색). 주로 검색할때 사용. Index 파일을 사용하면 테이블을 수정하지 않고 빠른속도로 Index기준 검색이 가능하다. FK의 경우 Index가 자동 생성된다.
drop이 아닌 delete로 테이블을 지우는 경우 Index가 남아있다.
- Sequence: Auto Increment
drop이 아닌 delete로 테이블을 지우는 경우 Auto Increment가 남아있다.
mybatis 사용시 주의
;세미콜론이 없다
sql은 스페이스를 인식을 못한다.
문자열은 '' 작은 따옴표 쓰기
문법은 실습파일 참조
- select from
- select from where
연산자의 종류
1)비교연산자: = < > 등
2)SQL연산자: BETWEEN(조건 A 이상, 조건 B 이하의 값을 조회), IN 등
3)논리연산자: AND, OR 등
DB의 단위 레코드
- 필드가 모이면 레코드(row)
기타
게시판의 주요 요소
- CRUD
- Sort(내림차순)
- 페이지당 개수
yaml to json을 구글링시 yaml 파일을 json 파일로 변환하는 사이트들이 나오다.
종강은 3월 15일
현 강사 2월 15일 -> 2월 29일까지로 늘음
15~29일은 4일간만 하고 본사 직원교육이 1일씩오는 주가 있음
FAT32 -> NTFS
도스 모드에서 convert f:/fs:ntfs (여기서 f:은 변환하고자 하는 USB드라이브을 말함)
https://cafe.naver.com/hamminglab/16003
맥 os
cpu 구분: Intel(Core(데탑), Xeon(서버), Atom(스마트폰)) / 애플실리콘(M1, M2 == ARM/ 원래 ARM은 모바일용이었음)
그래픽카드
Geforce // AMD Radeon // Intel ARC
유스케이스 교재
mybox에 교재 있음
- UML
- 유스케이스 다이어그램
- 순차 다이어그램
- 클래스 다이어그램
- ERD
과제
클래스 다이어그램 기호 예습
https://cafe.naver.com/hamminglab/19798
mybatis 동적쿼리(where문만 변경)
https://sinna94.tistory.com/entry/MyBatis-%EB%8F%99%EC%A0%81-%EC%BF%BC%EB%A6%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
sql 과제
oracle 이므로 바꾸어서 작성
https://cafe.naver.com/hamminglab/19047