본문 바로가기

▶ Back-End/DataBase6

Cassandra Snapshot Backup And Restore 방법 Cassandra에서 Snapshot을 이용한 Backup 및 Restore 방법 *Cassandra 설치 환경 생략 *Cassandra 기본 설정으로 진행 *자세한 설명 생략 ▷ Table 생성 *Snapshot은 원하는 시점에 생성할 수 있다.( nodetool snapshot --table {table} {keyspace} ) *여기서는 Table 삭제 시 자동으로 생성된 Snapshot으로 진행 CREATE TABLE {Keyspace}.TB_TEST ( TEST_CD TEXT, TEST_NM TEXT, PRIMARY KEY ((TEST_CD)) ); ▷ Cassandra Backup 확인 *Data 생성 후에도 Cassandra Backup 폴더는 변하지 않는다. #Cassandra Backup.. 2023. 10. 4.
MySql ON DUPLICATE KEY UPDATE 구문 MySql에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE *하나의 쿼리로 두 가지 경우를 해결할 수 있다. ▷ 사용법 INSERT INTO [TABLE] ( [COLUMN1], [COLUMN2], [COLUMN3], [COLUMN4] ) VALUES ( [VALUES1], [VALUES2], [VALUES3], [VALUES4] ) ON DUPLICATE KEY UPDATE [COLUMN2] = [VALUES2], [COLUMN3] = [VALUES3], [COLUMN4] = [VALUES4]; ▷ Example /** 테스트 테이블 생성 */ CREATE TABLE test ( TEST_ID varchar(225) NOT NULL, TEST_NAME varchar(225) NOT .. 2023. 8. 2.
Mybatis Oracle BEGIN-END(PL/SQL) 한 번에 쿼리를 2개 이상 실행해야 하는 경우 사용 *PL/SQL에 대한 설명은 간단히 하고, Mybatis에서 어떻게 사용했는지를 다룰 예정 ▷ PL/SQL(Oracle's Procedural Language extension to SQL)이란 오라클에서 제공하는 SQL을 확장한 프로그래밍 언어(절차적 언어, 블록 언어)로 블록 구조를 가지고 있다. ▷ PL/SQL 블록 구조 -- 전체가 하나의 블록이고 구성요소는 아래와 같다. DECLARE -- 선언부(옵션) -- 변수나 상수를 정의 BEGIN -- 실행부(필수, BEGIN-END) -- 로직 수행(일반 SQL문, 조건문, 반복문 등) EXCEPTION -- 예외처리부(옵션) -- 로직 수행중 에러 발생 시 예외 사항 처리 END; ▷ PL/SQL .. 2021. 2. 4.
Mybatis foreach문(반복문/동적 SQL) List or Array 형태의 동적인 값을 반복 처리하기 위해 사용 ▷ 기본 형태 ... ▷ 지원 태그 태그 명 태그 설명 collection 전달 받은 인자 item 전달 받은 인자 Alias(별명) open 구문 시작 시 들어갈 문자열 close 구문 종료 시 들어갈 문자열 separator 매 반복 회차 종료 시 들어갈 문자열(반복 구분자) index 반복 횟수 ▷ ExampleData [id:ST0001, name:홍일동, age:23] [id:ST0002, name:홍이동, age:34] [id:ST0003, name:홍삼동, age:15] ▷ Example SELECT * FROM GRADES_TABLE WHERE STUDENT_ID IN #{item.id} ▷ 관련 글 Mybatis Ora.. 2021. 2. 4.
Mybatis Oracle Paging Query(더보기 기능) "더보기" 기능을 위해 페이징을 하는 경우 이와 같이 사용한다. ▷ 조회 범위 계산 - exampleServiceImpl.java - String 타입으로 요청받은 조회 건수(getNbrViews)와 페이지 번호(getPageNbr)로 조회 범위를 계산 - nbrViews 와 pageNbr를 DAO에 파라미터로 요청 (서비스 로직 생략) int nbrViews = Integer.parseInt(getNbrViews); // 조회 건수 int pageNbr = (nbrViews * (Integer.parseInt(getPageNbr) - 1)) + 1; // 페이지번호 ▷ Example - exampleDAO_SQL.xml - Oracle에는 LIMIT 함수가 없다 따라서 ROWNUM을 이용해 동일한 결과.. 2021. 2. 3.
Mybatis Oracle MERGE INTO 구문 Oracle에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE *하나의 쿼리로 두 가지 경우를 해결할 수 있다. ▷ 사용법 --쿼리 대상 [TABLE/VIEW] MERGE INTO [TABLE/VIEW] --비교대상 [TABLE/VIEW], DUAL은 위와 동일 할때 사용(쿼리 대상 [TABLE/VIEW]) USING [TABLE/VIEW/DUAL] ON ( -- 조건에 사용한 COLUMN은 UPDATE 불가 [조건] ) --조건 일치 시 UPDATE WHEN MATCHED THEN UPDATE SET [COLUMN1] = [VALUE1], [COLUMN2] = [VALUE2], [COLUMN3] = [VALUE3], ... -- UPDATE후 DELETE 사용 가능(DELETE 단독 .. 2021. 1. 29.
728x90
728x90