반응형

DB 5

Dynamic SQL(동적 SQL)

Dynamic SQL(동적 SQL)쿼리를 실행할 때 프로그램의 실행 중에 쿼리 문자열을 동적으로 생성하는 방식조건에 따라 쿼리의 구조를 유연하게 변경할 수 있음특징유연성 : 다양한 조건에 따라 쿼리를 수정하거나 생성조건부 쿼리 : 특정 조건이 충족될 때만 쿼리의 일부를 포함하거나 제외사용자 정의 입력 : 사용자가 입력한 값에 따라 쿼리를 동적으로 구성if동적 SQL에서 가장 공통적으로 사용되는 것where의 일부로 포함될 수 있음//사용자가 블로그 제목을 검색하지 않았을 경우 ACTIVE 상태인 모든 블로그를 반환하고, 제목을 입력한 경우에는 해당 제목이 포함되는 블로그만 반환하는 쿼리 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{..

DB/Mybatis 2025.01.31

Mapper XML

매핑구문SQL 쿼리와 자바 객체 간의 매핑을 정의하는 부분XML 또는 Annotation을 사용하여 매핑DB와의 상호작용을 간편하게 처리element(엘리먼트)XML 문서에서 사용되는 기본 단위데이터를 구조화하고 표현하는 데 사용되는 태그XML에서는 엘리먼트가 데이터를 포함하는 구조를 형성하며, 각 엘리먼트는 시작 태그와 종료 태그로 구성XML은 첫 번째(first class) 엘리먼트만 가짐(=XML 파일의 root요소는 하나만 존재할 수 있음)종류cache : 해당 네임스페이스를 위한 캐시 설정cache-ref : 다른 네임스페이스의 캐시 설정에 대한 참조resultMap : DB의 결과데이터를 객체에 로드하는 방법을 정의하는 엘리먼트sql : 다른 구문에서 재사용하기 위한 SQL 조각insert :..

DB/Mybatis 2025.01.31

저장 프로시저, Mybatis에서의 사용(CALLABLE)

저장 프로시저DB에 미리 정의된 SQL 쿼리의 집합특정 작업을 수행하는 기능을 담고 있음일반적으로 여러 SQL 문을 포함할 수 있으며, 입력 매개변수를 받아들이고, 결과를 반환할 수 있음CREATE PROCEDURE 프로시저이름 (매개변수1 타입, 매개변수2 타입, ...)BEGIN -- SQL 쿼리들 SQL 쿼리1; SQL 쿼리2; ...END;예시사용자를 추가하고 그 사용자의 ID를 반환하는 저장 프로시저CREATE PROCEDURE addUser(IN username VARCHAR(50), IN email VARCHAR(100), OUT userId INT)BEGIN -- 사용자 추가 INSERT INTO users (name, email) VALUES (username, ..

DB/Mybatis 2025.01.31

JDBC

JDBC(Java Database Connectivity)JAVA 기반 애플리케이션의 데이터를 DB에 저장 및 업데이트 할 수 있는 자바 APIDB에 저장된 데이터를 JAVA에서 사용할 수 있도록 하는 자바 APIJDBC는 JAVA 애플리케이션 내에서 JDBC API를 사용하여 DB에 접근하는 단순한 구조JDBC API를 사용하려면 JDBC 드라이버를 먼저 로딩한 후 DB와 연결표준 인터페이스java.sql.Connection : 연결java.sql.Statement : SQL을 담은 내용java.sql.ResultSet : SQL 요청 응답동작 흐름JAVA 애플리케이션 -> JDBC API -> JDBC 드라이버 -> 데이터베이스API 사용 흐름JDBC 드라이버 로딩 -> Connection 객체 생성..

DB/JDBC 2025.01.23

[DB] ORM vs SQL Mapper(Mybatis) : 개념, 차이점, 장단점 총정리

ORM(Object-Relational Mapping)객체-관계 매핑객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해 주는 것객체 지향 프로그래밍 : 클래스, 관계형 데이터베이스 : 테이블객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 프로그래밍 기술종류Flask : SQLAlchemyDjango : 내장 ORMNode.js : SequalizeJava : Hybernate, JPAGraphQL : Prisma동작 원리ORM Framework 메소드와 백엔드 개발언어를 이용해 SQL 구문을 자동으로 생성하고 DB 서버에 전달하는 것장점개발자가 복잡한 SQL 쿼리를 작성할 필요가 없음객체 지향 프로그래밍의 장점을 활용하여 코드 재사용성과 유지보수성을 높일..

DB/Mybatis 2025.01.23
반응형