Ebi Shrimp Sushi
📚 DataBase

[ORACLE] 그룹 함수(ROLL UP,CUBE,GROUPING SETS)

🧁각 그룹 함수 별 특징 ROLL UP : 순차적으로 중간 합계(소계)를 계산한 후 총합계를 계산한다.(지정된 열의 순서 결과에 영향 O) CUBE : 가능한 모든 조합의 집계를 계산한다.(지정된 열의 순서 결과에 영향 X) GROUPING SETS : 그룹화할 컬럼을 직접 지정함 🍥사용 예시 ✅Test Table 상품별 판매월과 판매가격을 저장하기 위한 테이블을 생성해주었다. CREATE TABLE 판매_2024( 상품_id integer PRIMARY KEY, 이름 varchar2(20), 판매월 integer, 가격 integer ); INSERT INTO 판매_2024 VALUES (1,'LCD-TV',1,'50000'); INSERT INTO 판매_2024 VALUES (2,'에어프라이어',1,..

📚 DataBase

[ORACLE] GROUP BY,HAVING

🙂GROUP BY란? SQL에서 특정열에 같은 값을 가진 행을 그룹화 시켜주는 명령어이다. 집계함수와 같이 사용하여 그룹단위로 데이터를 집계하는데 유용하다! 🥟대표적인 집계함수 COUNT(컬럼 or *) 행의 갯수를 반환(*를 사용할 경우 null 까지 count) SUM(컬럼) 행의 값들을 더함(null 제외) AVG(컬럼) 행들의 평균값 (null 제외) MAX(컬럼) 행들의 최대값 (null 제외) MIN(컬럼) 행들의 최소값 (null 제외) 🥟사용예시 예시 테이블 예시 테이블로 서점의 2024년 매출을 관리하는 테이블을 생성하였다. 주의 할 점은 모든 책들은 1권씩 판매되었고 소녀들3만 2권이 판매되었다 ! CREATE TABLE 서점_2024( id integer PRIMARY KEY, nam..

🌠 Trouble Shooting

Method 'GET' is not supported.

🌝발생원인 아래 HTML코드의 a 태그를 클릭하여 deleteCommunity를 수행하려고 했는데 해당 에러가 발생했다 ! 삭제 @DeleteMapping("delete") public String deleteCommunity(@RequestParam(name = "communityNo") int communityNo) throws Exception { communityservice.deleteCommunity(communityNo); return "/home"; } 검색을 통해 찾아본 결과 a태그는 화면이동을 처리하기 위해 자동으로 GET 매핑을 실행한다고 한다. 그냥 GET매핑으로 바꾸는 방법도 있겠지만 RESTful API의 설계 원칙을 따르기 위해서는 DELETE 매핑이 권장되기 때문에 방법을 찾..

🌱 Spring

[Spring Boot] summer note 적용하기(게시판 글쓰기)

원래 CKEditor를 사용할 계획이었으나 파일 업로드가 부분 유료라는 사실을 알게되어 summer note을 사용하여 게시판 글쓰기 기능을 구현하기로 계획을 변경하였다 ! 찾아보니 summer note는 부트 스트랩과 충돌한다는 단점이 있는데 간단한 기능만을 필요로 한다면 lite 버전을 사용하여 충돌을 막을 수 있다고 한다. 나는 게시글을 작성하는 간단한 정도로만 활용할 것이기 때문에 lite 버전을 사용하게 되었다. 🤗적용하기 적용 자체는 아주아주 간단하다! 하지만 나는 여러개의 에러가 발생했고 ㅎ 주의점을 같이 작성해보려고 한다. 1. 아래 URL에 접속 -> 빨간색 화살표 클릭 -> 파일 받고 압축 풀기 https://summernote.org/ Summernote - Super Simple W..

🌠 Trouble Shooting

[ DB ]invalid stream header: 32303233

🙄발생이유 해당 에러는 Java에서 직렬화된 객체를 역직렬화할 때 발생하는 문제라고 한다. 직렬화? 역직렬화?? 이해를 못해서 다른분들이 어떻게 해결했나 찾아보니 원인이 아주아주 다양했지만 주로 엔티티 설정을 잘못해서 발생하는 에러 같았고, 특히 TimeStamp 관련해서 문제가 발생한 경우가 많은 것 같았다. 엔티티를 확인해보니 아니나 다를까 Date 형식을 TimeStamp로 설정한 부분이 있었고 이를 java.util.date로 수정하니 에러가 해결되었다 ! 정확히 원인을 알고자 자세히 살펴보니 좌측의 DB의 regdate 타입이 -> TimeStamp 우측의 엔티티의 regdate 타입이 -> TimeStamp 여기까지는 괜찮았는데 엔티티의 TimeStamp 타입이 security와 sql로 나뉘..

🌠 Trouble Shooting

java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime

🙄발생 원인 검색해보니 org/springframework/boot/SpringApplication 클래스가 더 최근 버전의 Java Runtime으로 컴파일되었음을 나타내며, 현재 사용 중인 Java Runtime은 해당 클래스 파일 버전까지만 인식할 수 있다는 내용이라고 한다 ! 그래서 확인을 해보니 Java Compiler와 Project Facets의 자바 버전이 11로 되어 있었다. Spring Boot3 의 JDK 요구사항은 17부터이기 때문에 ava Compiler와 Project Facets의 자바 버전을 17로 변경하니 에러가 해결 되었다. 🙂해결 방법 프로젝트 우클릭 - Build Path - Configure Build Path Project Facets와 Java Compiler의 ..

🌱 Spring

Page<Entity> 👉 Page<DTO> 매핑하기(+mapstruct로 page 매핑시 에러)

mapstruct로 dto매핑을 하고 있었는데 mapper에 Page 매핑 메소드를 작성하니 에러가 떴다... "No implementation type is registered for return type org.springframework.data.domain.Page." 에러메세지를 해석해보니 org.springframework.data.domain.Page 타입에 대한 구현체가 존재하지 않는다는 의미였다... 어제부터 나를 괴롭게하는 (구)현체... 검색해보니 다행히 어렵지 않게 이유를 알 수 있었고 또 다행히도 어렵지 않게 해결이 가능했다 ㅎㅎ https://okky.kr/questions/1333309 OKKY - mapstruct Page객체 어떻게 받는건가요? import com.fsm.m..

🌠 Trouble Shooting

[ mapstruct ]Cannot find implementation for mycompany.mapper.Mapper

🙄발생 이유 mapstruct를 사용하여 매핑을 진행했는데 해당 에러가 발생했다. 찾아보니 이클립스가 구현체를 찾지 못해 발생하는 에러 혹은 sts에서 lombok과 mapstruct를 같이 사용해서 발생하는 에러라고 한다. mapstruct를 사용하기 전에 찾아본 여러글에서 lombok과 mapstruct를 같이 사용 할 경우 의존성의 순서를 바꿔주면 문제가 없다고 해서 그렇게 했는데...😅 아무튼 그럼에도 불구하고 해당 에러가 발생한것으로 보아 전자가 원인이 아닐까 추측해보았고, 찾아보니 정말 mapper 구현체가 이클립스에 없었다 하하하 이클립스 문제인가 해서 찾아봐도 안나오고... mapstruct 문제인가 해서 찾아보고 안나와서 열심히 삽질한 결과 AnnotationProcessing을 추가해야..

hoso
개발자 호소인