mybatis 4

JPA vs MyBatis

JPA와 MyBatis는 Java 애플리케이션에서 데이터베이스와 통신하기 위한 대표적인 persistence 프레임워크로, 각각 자동화된 ORM 방식(JPA)과 SQL 중심의 매퍼 방식(MyBatis)을 제공한다. 🔥 JPA vs MyBatis 비교✔ JPA는 객체 중심 설계와 생산성 강화에 좋음✔ MyBatis는 SQL 최적화와 복잡한 쿼리에 강점✔ 대부분의 프로젝트는 JPA + QueryDSL을 기본으로 사용하면서, 성능이 중요한 부분만 MyBatis로 처리!비교 항목🏆 JPA (Hibernate, Spring Data JPA)🔥 MyBatis개발 생산성✅자동 매핑, CRUD 자동 생성 → 생산성 높음❌SQL 직접 작성 필요 → 생산성 낮음SQL 최적화❌복잡한 쿼리는 어렵고 성능 튜닝 필요 ✅S..

Backend/JAVA 2025.04.10

MyBatis 연결 (Spring DAO 작성 방법)

목차1. 매퍼 인터페이스 사용   *MyBatis Generator를 사용하여 생성하는 방법2. SqlSession 직접 사용 3. 어노테이션 기반 매퍼 0. 시작하기 전에0-1. Spring boot mybatis 의존성 추가pom.xml에 MyBatis 의존성을 추가합니다. org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.6 0-2. Spring 공통 설정  0-3. MyBatis-Spring 통합 라이브러리 사용 준비MyBatis-Spring 통합은 Spring Framework와 MyBatis를 함께 사용하는 방식으로, 의존성 주입(DI) 및 트랜잭션 관리를 쉽게 할 수 있습니다.- applica..

JDBC vs SQL Mapper vs ORM

JDBC, SQL Mapper, ORM은 모두 데이터베이스와 애플리케이션 간의 상호작용을 위해 사용되는 기술들이지만, 각기 다른 추상화 수준과 개발 방식이 적용됩니다. 간단한 코드 예시와 함께 이 세 가지의 차이점을 비교해보겠습니다. 1. JDBC (Java Database Connectivity)특징직접적인 SQL 사용: JDBC는 SQL 쿼리를 직접 작성하여 데이터베이스와 통신하는 방식입니다.낮은 추상화 수준: 데이터베이스와의 상호작용을 상세하게 제어할 수 있으며, 데이터베이스 특화된 기능을 쉽게 사용할 수 있습니다.장점제어력: 모든 SQL 쿼리와 연결 관리를 세밀하게 제어할 수 있습니다.성능 최적화: 성능에 민감한 작업에서 SQL 쿼리를 최적화하기 쉽습니다.단점반복 코드: 자주 사용하는 코드(예: ..

SQL 2024.09.25

Spring 구조 / 구성요소

Spring 구조의 구성요소 Controller(web) : 서비스 호출, 연결 Mapper.java(Repository, DAO) : DB에 정보요청/접근 Model(Domain, VO, DTO) : 객체, getter setter Service : Dao가 들고온 VO가공 Mapper.xml : SQL문 / 쿼리 기본적으로 위의 5가지 Class를 생성하여 사용합니다!! 각각 괄호 속의 용어는 정확한 차이점은 모르겠지만 비슷한 용도로 사용합니다. 아래는 개념적 차이를 간단히 정리했는데 보통 정확히 명칭을 구별하지 않고 사용하는 경우가 많습니다. *Mapper / DAO Mapper Mybatis 매핑xml에 기재된 SQL을 호출하기 위한 인터페이스 DAO (Data Access Object) DB에 ..