데이터베이스) JDBC 와 MyBatis(SQL Mapper)
·
데이터베이스 탐구
JDBC(Java Database Connectivity) JDBC(Java Database Connectivity)는 자바에서 가장 오래된 데이터베이스 연동 기술로서, 모든 관계형 데이터베이스에 대해서 동일한 자바 코드를 사용합니다. JDBC는 다형성(Poloymorphism)을 기반으로 동작하기 때문에 데이터베이스와 무관하게 동일한 자바 코드를 사용할 수 있습니다.    DAO(Data Access Object) DAO(Data Access Object) 클래스를 구현할 때는 JDBC(java.sql 패키지)가 제공하는 인터페이스를 이용합니다.그러면 인터페이스를 구현한 드라이버가 실질적인 데이터베이스 연동을 처리합니다.따라서 데이터베이스가 변경되는 경우에 각 벤더에서 제공하는 드라이버만 교체해 주면 ..
JPA) N + 1 문제
·
자바 탐구
N + 1 문제 데이터베이스의 관계형 모델과 테이블 간의 관계를 다룰 때 주로 발생한다. 한 개의 쿼리로 데이터를 조회할 때, 해당 데이터에 연관된 다른 데이터들을 조회할 때 추가적인 쿼리가 n개 발생하는 현상이다. 주로 ORM(Object-Relational Mapping) 라이브러리를 사용하는 애플리케이션에서 발생하며, 지연 로딩(Lazy Loading)을 사용할 때 주로 발생한다. 해결 방법 해결방법으로는 Eager Loading(즉시 로딩)과 Fetch Joing이 있다. 1. Eager Loading(즉시 로딩) JPA에서 연관된 엔티티를 LAZY로딩으로 설정하여 쿼리가 실행될 때 실제로 연관된 엔티티를 가져오지 않고, 필요할 때 가져오도록 설정이 되어있다. Earger Loading을 사용하면..
데이터베이스) ORM과 JPA
·
데이터베이스 탐구
ORM(Object-Relational-Mapping) 객체와 데이터베이스 간의 데이터 매핑을 자동으로 처리해 주는 기술 객체 지향 프로그래밍에서는 클래스와 객체를 사용하여 데이터를 처리한다.관계형 데이터베이스에서는 테이블과 레코드를 사용한다.위 두가지 방식은 데이터를 저장하고 처리하는 방식이 다르다.ORM은 이러한 객체지향 프로그래밍과 관계형 데이터베이스 간의 불일치를 해결하기 위해개발된 기술이다. ORM을 사용하면 데이터베이스와 상호작용할 때 객체를 사용하여 코드를 작성할 수 있다.ORM은 객체와 데이터베이스 간의 매핑 정보를 가지고 있으며, 이 정보를 사용하여객체를 데이터베이스에 저장하고 조회할 수 있다. ORM을 사용하면 데이터베이스와의 작업을 수행하는 코드를 직접 작성할 필요가 없으며,객체를 사..
오지랖 토끼
'ORM' 태그의 글 목록