Back-End
-
MyBatis 쿼리 (Oracle, MySQL)Back-End/SQL 2025. 2. 18. 23:17
쿼리 순서-- 조회 SELECT id, title, contents, count(created_id), created_date FROM board WHERE created_date = #{createdDate} -- created_id 를 기준으로 grouping 하는 나머지 컬럼들 GROUP BY id, title, contents, created_date -- grouping 하는것들의 조건 HAVING count(created_id) > 0 -- id로 내림차순, title 로 오름차순 ORDER BY id DESC, title ASC -- 0번째부터 10개 제한해서 보여줌 (한페이지에 게시글 열개인 첫번..
-
[Spring] Spring ContainerBack-End/Spring 2023. 8. 18. 02:07
1. 스프링에서는 컨테이너라는 것을 통해서 빈들을 관리한다.자바 객체 : new 연산자를 사용하여 직접 생성한 인스턴스빈 객체 : 컨테이너에서 관리하는 객체싱글톤 패턴의 단점을 보완한 스프링 컨테이너를 통해 빈들을 관리한다.싱글톤 패턴을 기반으로 한 만큼 인스턴스가 1개만 생성된다.애플리케이션 컨텍스트 내에서 한 번만 생성되고 재사용되어 리소스 낭비를 줄일 수 있다. 2. 스프링 컨테이너에서 빈의 생성과 생명 주기를 관리한다.객체를 직접 생성하는 대신 스프링 컨테이너에 의존성 주입을 요청하여 필요한 객체를 받아온다.스프링 컨테이너가 생성될 때(애플리케이션 실행 시) 빈이 등록되고, 로딩된다. 빈 등록 방법컴포넌트 어노테이션 사용(@Controller 등)xml, yaml 등@Bean 으로 직접 등록..
-
WebClient 와 WebFlux (정리중..)Back-End/Spring 2023. 6. 13. 00:19
Java REST API Client Library 에는 여러가지 종류가 있다. - HttpURLConnection - OKHttp, Retrofit, Volley - HttpClient - RestTemplate - WebClient WebClient 이전에는 RestTemplate 와 HttpClient 를 많이 쓰다가 (사실 나는 RestTemplate 도 안 써본 것 같다) WebFlux 가 등장하면서 WebClient 를 사용하게 되었다. 1. HttpURLConnection - 기본 JDK에 포함 (java.net) - URLConnection을 구현한 클래스 [ 장점 ] - HTTP 프로토콜 이외에도 사용 가능 - 속도가 빠르다. [ 단점 ] - 코드가 복잡하다. - 타임아웃을 설정할 수 없..
-
Yaml 을 Private Submodule 로 추가하여 관리하기Back-End/Database & etc 2023. 6. 8. 01:18
1. Yaml 파일 property 값들이 빈으로 등록되지 않는 문제 발생build.gradle// 메인 프로젝트와 경로를 맞춰줘야 런타임 시에 정상적으로 주입이 된다sourceSets { main { resources { srcDirs = ['src/main/resources', 'buddy-wisdom-private/src/main/resources'] } }}올바른 classpath 설정 필요.application.yml 파일은 Runtime 시에 빈으로 주입되어야하기 때문에 메인 프로젝트와 경로를 맞춰줘야한다. 서브모듈 하위에 application.yml 의 위치를 기존 메인 프로젝트 Yaml 파일과 맞춰준다.그리고 메인 프로젝트의 Yaml ..
-
DTO, VO, EntityBack-End/Database & etc 2022. 9. 9. 02:25
DTO(Data Transfer Object) vs VO(Value Object) vs Entity DTO 데이터를 다른 서버로 전달하는 것이 목적 controller - sevice - repository 계층 간의 데이터 이동을 위해 사용 VO 데이터를 담아두기 위한 목적 setter를 사용하지 않음으로써 불변으로 담아둘 수도 있다. Entity DB 테이블 데이터와 매핑하는 객체 데이터 객체라고도 부른다. dto는 vo보다 넓은 의미라고 봐도 무방하다. 반드시 하나만 써야하는 것은 아니며 entity 까지 3가지를 전부 사용하기도 한다. 목적에 따른 의미가 다를 뿐, 결국 사람이 구분하기 위해 이렇게 사용하는 것이므로 반드시 이렇게 써야한다는 정답은 없다.
-
H2 Server 설치, Error 해결Back-End/Database & etc 2022. 9. 5. 22:07
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode 이미 서버가 켜져 있는데 또 켜려고 하니, 생기는 에러. Database may be already in use: "Locked by another process" 내장모드(Embedded)와 내 컴퓨터에 설치된 h2 Tcp/Ip 와 연결하여 실행시킬 수 있는 방법(Server)이 있다. 내장모드일 때에는 한 프로세스가 실행되고 있으면 다른 프로세스를 실행할 수 없기 때문에 여러 개를 실행하고 싶다면 Server 로 실행시켜줘야한다. 아래는 최대한 충돌이 나지 않게 하기 위해 시도한 방법 # Database sp..