일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #스파르타내일배움캠프
- 스레드
- 내일배움캠프
- 메서드
- 클래스
- Diary 해우소
- #스파르타내일배움캠프TIL
- diary
- Token
- 해우소
- 객체지향 언어
- 인스턴스
- 변수의 다양성
- 스파르타내일배움캠프
- 스파르타내일배움캠프TIL
- GitHub
- Java
- JVM
- Git
- 성장기록
- 감사기록
- 회고록
- Github_token
- Java의 이점
- 포맷은 최후의 보루
- TiL_1st_0419
- static
- 생성자
- #내일배움캠프
- KPT
- Today
- Total
목록전체 글 (230)
몬그로이
팀프로젝트로 진행했던 것에 더하여 좋아요 기능을 구현해야 했기 때문에이미 존재하는 좋아요 기능 대신 "도움이 됐어요" 기능을 추가해 보기로 했다 User 가 남긴 Review 에 Thanks 를 달기도 하고 취소하기도 하는 기능이다 조건자신이 쓴 Review 에 대해서는 Thanks 를 달 수 없음User 가 Profile 에서 Thanks 를 달아둔 Review 를 리스트로 볼 수 있음이미 Thanks 를 달아둔 것을 다시 누르면 취소됨Thanks 와 User 와 Review 의 연관관계 설정더보기처음에는 User 한 사람 당 Thanks ID 를 하나만 가지고 있는 걸로 생각했었는데,그렇게 하니까 Thanks Entity 를 따로 만들지 않아도 되지만 그건 User Id 와 다를 게 없는 것이었고,R..
https://mongroy.tistory.com/137 SubQuery, JPAExpressions사용하는 때1. 복잡한 조건을 사용해야 할 때메인 쿼리에서 사용하기 어려운 복잡한 조건을 처리하기 위해예) 특정 조건에 맞는 데이터만 필터링해야 할 때 2. 집계 함수와 함께 사용할 때집계mongroy.tistory.com https://mongroy.tistory.com/138 자바의 정석 7. 객체지향 프로그래밍2상속- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다** 접근제어자가 private 또는 default 인멤버들은 상속되지 않는다mongroy.tistory.com
사용하는 때1. 복잡한 조건을 사용해야 할 때메인 쿼리에서 사용하기 어려운 복잡한 조건을 처리하기 위해예) 특정 조건에 맞는 데이터만 필터링해야 할 때 2. 집계 함수와 함께 사용할 때집계된 데이터를 메인 쿼리에서 다시 처리하기 위해예) 특정 그룹의 최대값, 최소값, 평균값 등을 구하고 이를 메인 쿼리에서 사용 3. 존재 유무 확인특정 조건에 맞는 데이터가 존재하는지 확인할 때예) 특정 조건을 만족하는 레코드가 존재하는 경우에만 데이터를 조회할 때 4. 순위 및 순번 지정특정 순위나 순번을 지정하기 위해예) 각 그룹 내에서 순위를 매기거나, 순번을 지정할 때예시 1. 복잡한 조건을 처리하기 위한 서브쿼리가장 최근 주문 날짜를 가진 고객을 조회하는 경우SELECT * FROM Customer cWHERE ..
상속- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다** 접근제어자가 private 또는 default 인멤버들은 상속되지 않는다기보다 상속은 받지만 자손 클래스로부터의 접근이 제한된다 상속관계 '~은 ~이다(is - a)'포함관계 '~은 ~을 가지고 있다(has - a)' 오버라이딩 조건1- 조상 클래스 메서드와 이름이 같아야 한다- 매개변수가 같아야 한다- 반환타입이 같아야 한다(JDK1.5이전)- 접근제어자 범위가 같거나 커야 한다오버라이딩 조건2- 예외의 경우 조상 클래스의 메서드보다 같거나 큰 범위로 선언- 인스턴스 메서드를 static 메서드로, static 메서드를 인스턴스 메서드로 변경 불가능*Exception 은 모..
https://mongroy.tistory.com/133 QueryDSLQueryDSL 이란Domain Specific Language 를 사용하여 SQL 을 생성하는 도구Hibernate의 @Query 어노테이션을 사용하여 JPQL을 정의하거나,JDBC Template을 사용하여 직접 SQL 쿼리를 작성하는 대신 사용 타입 안정성Jmongroy.tistory.comhttps://mongroy.tistory.com/134 Entity-Table 에 사용하기 좋은 어노테이션 기능1. Auditing- 기본 사용법- 감사기능(By)까지 추가하여 사용하는 방법 두 가지 2. Dynamic Insert/UpdateAuditing누가/언제 생성/수정 했는지 Column에 기록하는 기능 1. 메인 applicati..
QueryDSL 이란Domain Specific Language 를 사용하여 SQL 을 생성하는 도구Hibernate의 @Query 어노테이션을 사용하여 JPQL을 정의하거나,JDBC Template을 사용하여 직접 SQL 쿼리를 작성하는 대신 사용 타입 안정성Java 언어의 타입 시스템을 활용하므로 코드를 컴파일할 때 타입 안정성을 보장SQL 문법 오류를 미리 잡을 수 있음 객체지향적인 쿼리Java 언어의 문법을 사용하여 데이터베이스 쿼리를 표현하므로개발자가 직관적으로 이해하고 유지보수할 수 있음 동적 쿼리 작성의 용이성풍부한 문법과 메서드 체이닝을 통해 동적 쿼리를 간편하게 작성할 수 있습니다. 필요에 따라 조건을 추가하거나 조합할 수 있어 복잡한 쿼리도 효율적으로 처리할 수 있습니다. 다양한 데이..
1. Auditing- 기본 사용법- 감사기능(By)까지 추가하여 사용하는 방법 두 가지 2. Dynamic Insert/UpdateAuditing누가/언제 생성/수정 했는지 Column에 기록하는 기능 1. 메인 application 에 @EnableJpaAuditing 를 달아준다@EnableJpaAuditing@SpringBootApplicationpublic class Application { 2. Auditing 기능을 사용할 Entity 클래스 위에 @EntityListeners(AudigingEntity.class) 를 달아준다@Getter@MappedSuperclass@EntityListeners(AuditingEntityListener.class)public class TimeStamp ..
SQL : Table 명으로 쿼리짤때 쓰이는 언어 (쓰이는곳. JDBC, SQL Mapper)JPQL : Entity 명으로 쿼리짤때 쓰이는 언어 (쓰이는곳. JPQL, QueryDSL) JPQL (Java Persistence Query Language)Table 이 아닌 Entity(객체) 기준으로 작성하는 쿼리EntityManger 또는 @Query 구현체를 통해 JPQL 쿼리를 사용할 수 있다. EntityMananger.createQuery()쿼리 문자열과 Entity 를 직접 넣어서 쿼리를 작성한다.setParameter 와 같이 key, value 문자열을 통해서 쿼리 파라미터를 매핑할 수 있다.@Testpublic void testEmCreateQuery() {String qlString..