[PostgreSQL] MyBatis에서 PostgreSQL JSON 데이터 처리하기
·
개발 (Development)/PostgreSQL
1. PostgreSQL에서 JSONB 데이터 평균 구하기JSONB 컬럼이 포함된 테이블에서 특정 키(예: "efficiency") 값을 필터링하고 평균을 구하는 기본적인 SQL 쿼리는 다음과 같습니다.SELECT key AS tag_name, AVG(value::NUMERIC) AS avg_valueFROM sensor_data, LATERAL jsonb_each_text(outputs)WHERE timestamp_col BETWEEN '2024-01-01 00:00:00' AND '2024-01-31 23:59:59' AND key ILIKE '%efficiency%' AND (value::NUMERIC) BETWEEN 0 AND 100GROUP BY key;이 쿼리는..
[Java] 리스트의 요소가 다른 리스트에 포함되지 않는지 확인 (Collections.disjoint())
·
개발 (Development)/Java
Java에서 리스트의 요소가 다른 리스트에 포함되지 않는지 확인할 때 Collections.disjoint() 메서드를 사용하면 간단하게 처리할 수 있습니다.import java.util.Arrays;import java.util.Collections;import java.util.List;public class Main { public static void main(String[] args) { List targetList = Arrays.asList("A", "B", "C"); List statusList = Arrays.asList("X", "Y", "Z"); boolean isDisjoint = Collections.disjoint(targetList, ..
[PostgreSQL] JSON 컬럼에서 Key-Value 추출 및 MyBatis 연동
·
개발 (Development)/PostgreSQL
PostgreSQL에서는 json 또는 jsonb 타입을 사용하여 JSON 데이터를 저장할 수 있습니다. 하지만 이를 테이블 형태로 변환하여 조회할 때는 추가적인 함수가 필요합니다. 특히 MyBatis를 활용하여 Java에서 HashMap 형태로 데이터를 가져오려면 적절한 쿼리 작성이 중요합니다. 이번 글에서는 PostgreSQL에서 JSON 데이터를 key-value 형태로 변환하는 방법과 MyBatis를 이용해 이를 Java에서 활용하는 방법을 알아보겠습니다.1. PostgreSQL에서 JSON 데이터를 Key-Value 형태로 변환하기1.1 테이블 및 샘플 데이터 생성먼저 JSON 데이터를 저장하는 status 컬럼을 포함한 테이블을 생성하고, 샘플 데이터를 삽입합니다.CREATE TABLE tes..
[Java] API 요청 및 응답 시 비동기 처리
·
개발 (Development)/Java
1. CompletableFuture 사용CompletableFuture는 Java 8부터 도입된 기능으로, 비동기 작업을 쉽게 처리할 수 있게 해줍니다.예제 코드import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;public class AsyncApiExample { public static void main(String[] args) throws ExecutionException, InterruptedException { // API 호출 작업 정의 CompletableFuture api1 = CompletableFuture.supplyAsync(() -> ..
[Problem Solving/Java] 백준 10989번 - 수 정렬하기 3
·
알고리즘 문제 풀이 (Problem Solving)
https://www.acmicpc.net/problem/1098910989번: 수 정렬하기 3첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.첫 번째 시도import java.io.BufferedReader;import java.io.InputStreamReader;..