[ORM & JPA] 객체와 데이터베이스를 연결하는 새로운 길, ORM과 JPA
·
Database/ORM & JPA
ORM(Object-Relational Mapping)은 자바의 객체와 데이터베이스를 연결하는 혁신적인 프로그래밍 기법입니다.이 기법을 통해 SQL을 몰라도 데이터베이스 값을 객체처럼 다룰 수 있어 자바로 간편하게 데이터를 추출할 수 있습니다.ORM의 장점SQL 미사용: SQL을 직접 작성하지 않고도 데이터베이스에 접근할 수 있습니다.객체지향적 코드 작성: 객체지향적으로 코드를 작성하여 비즈니스 로직에 집중할 수 있습니다.데이터베이스 시스템 추상화: 데이터베이스 시스템이 추상화되어 있어 MySQL에서 PostgreSQL로의 전환 시 추가 작업이 거의 없습니다. 따라서 데이터베이스 시스템에 대한 종속성이 줄어듭니다.명확한 매핑 정보: 매핑 정보가 명확하여 ERD에 대한 의존도를 낮출 수 있고 유지보수에 용..
[H2 Database] 스프링 부트와 H2 데이터베이스: 인메모리 RDBMS의 장점과 활용
·
Database/H2 Database
H2 데이터베이스는 Java로 작성된 오픈 소스 데이터베이스 관리 시스템(DBMS)입니다. 주로 테스트 및 개발 환경에서 사용되며, 경량 데이터베이스로서 빠르고 간편하게 설정할 수 있는 것이 큰 장점입니다.관계형 데이터베이스 관리 시스템(RDBMS)이란?RDBMS는 관계형 데이터베이스 관리 시스템(Relational Database Management System)의 약자로, 데이터를 행(Row)과 열(Column)로 구성된 테이블 형태로 관리하는 데이터베이스 시스템을 의미합니다. RDBMS의 주요 특징은 다음과 같습니다.테이블 기반 구조데이터는 행과 열로 구성된 테이블에 저장됩니다. 각 테이블은 고유한 이름을 가지며, 서로 관계를 맺을 수 있습니다.데이터 무결성데이터의 정확성과 일관성을 유지하기 위해 ..
[Oracle] CREATE TABLE AS SELECT (예제 포함)
·
Database/Oracle
CREATE 테이블명 AS SELECT문 SELECT 문의 결과를 새로운 테이블로 생성합니다. [예제1 - FIRST_NAME이 'David'인 데이터를 BK_EMPLOYEES_DAVID 테이블을 생성하여 삽입하기] 아래와 같은 구조를 가진 테이블이 있습니다. 위 테이블에서 FIRST_NAME이 'David'인 데이터들을 구하는 SELECT 문입니다. SELECT * FROM EMPLOYEES WHERE FIRST_NAME = 'David' ; 위 SELECT문의 결과를 BK_EMPLOYEES_DAVID라는 테이블로 생성해보겠습니다. BK_EMPLOYEES_DAVID 테이블을 CREATE하고 INSERT하는 구문을 실행하는 방법도 존재하지만 CREATE AS SELECT 구문을 통해 빠르게 테이블을 생성..
[Oracle] 오라클 비밀번호 만료 오류(Oracle password has expired)
·
Database/Oracle
[에러 발생] 'Oracle password has expired'가 발생하였습니다. 기본적으로 오라클은 180일이 지나면 자동 만료가 된다고 합니다. [에러 해결] 1. CMD 창을 열어 오라클DB에 접속합니다. sqlplus / as sysdba C:\Users\user>sqlplus / as sysdba SQL*Plus: Release 11.2.0.2.0 Production on 금 9월 8 14:22:44 2023 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 2. 비밀번호를 변경합니다. A..
[Oracle] 오라클 프로시저 JOB으로 실행하기
·
Database/Oracle
[프로시저를 JOB으로 실행하는 방법] 프로시저 P_TEST를 JOB으로 즉시 실행하는 방법입니다. OUTPUT을 통해 JOB의 번호를 출력할 수 있습니다. DECLARE V_JOBNO NUMBER; BEGIN BEGIN DBMS_JOB.SUBMIT(V_JOBNO, 'P_TEST();', SYSDATE, NULL); COMMIT; END; DBMS_OUTPUT.PUT_LINE(V_JOBNO); END;
[Oracle] 오라클(XE) 11g 설치 | 계정 설정 | DBeaver 연결하기
·
Database/Oracle
[ 오라클(XE) 11g 설치 ] 1. 설치 파일 다운로드 아래 링크에서 'Oracle Database 11g Express Edition' 설치 파일을 다운로드 합니다. XE Prior Release Archive Getting Started: Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Ser www.oracle.com Oracl..
[Database/Mybatis] 마이바티스 특수문자 CDATA 처리하기
·
Database
[특수문자 오류 발생] XML 파일에서 쿼리를 작성할 때, , || , && 등의 특수 문자를 사용하는 경우 태그로 인식하여 오류가 발생합니다. [예제] XML 파일에서 파란색이 뜨면서 "나 좀 봐주세요~!" 하고 말하는 것 같기도 합니다. 특수 문자를 그대로 사용하여 서버를 가동하면 아래와 같이 오류창이 뜨게 됩니다. 오류로그는 아래와 같으며, 특수문자를 XML parser로 인식하여, ParserException이 뜨게 됩니다. Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 280; colu..
[Database] SQL SELECT 쿼리문의 문법 순서와 실행 순서
·
Database
SELECT 쿼리문에서의 문법 순서와 실행 순서는 서로 다릅니다. 쿼리문의 실행 순서를 알고 쿼리를 작성하면 보다 효율적인 쿼리를 작성할 수 있습니다. [문법 순서] SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY [실행 순서] FROM - > ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY FROM : 조회 테이블 확인 ON : 조인 조건 확인 JOIN : 테이블 조인 (병합) WHERE : 데이터 추출 조건 확인 GROUP BY : 특정 컬럼 그룹화 HAVING : 그룹화 이후 데이터 추출 조건 SELECT : 데이터 추출 DISTINCT : 중복 제거 ORD..