좌충우돌 개발기!/DB 설정 (6) 썸네일형 리스트형 [Spring Boot] (6)스프링부트 2.x / 3.x 에서 DB 사용 예제 지금까지 작성했었던 부트 2와 부트 3의 DB 사용 예제입니다. 테스트를 위한 DDL / DML이 포함되어 있습니다. ( sql 폴더 아래 ) 사용하시는데 도움이 되었으면 좋겠네요 😁 프로젝트 목적 - 다중 DB 사용 - JPA 사용 - MyBatis 사용 - QueryDSL 사용 부트 2 예제 스펙 Spring Boot 2.6.5 JAVA 11 MariaDB MyBatis 2.2.0 URL : https://github.com/Jinu-Liz/boot2-db-legacy GitHub - Jinu-Liz/boot2-db-legacy: boot2 legacy DB connect boot2 legacy DB connect. Contribute to Jinu-Liz/boot2-db-legacy developm.. [Spring Boot] (5)다중 DB 환경에서 QueryDSL 사용하기 서로 다른 DB를 사용하는 Service에서 QueryDSL을 사용하여 조회 메서드를 만든 후 테스트를 해보았다. @Service @RequiredArgsConstructor public class PokemonService { private final JPAQueryFactory queryFactory; public List selectPokemon() { return queryFactory .selectFrom(pokemonEntity) .fetch(); } } @Service @RequiredArgsConstructor public class ItemService { private final JPAQueryFactory queryFactory; public List selectItems() { re.. [Spring Boot] (4) 스프링부트 3에서의 QueryDSL 설정 변경 기존 스프링부트 2.x에서 QueryDSL 설정은 아래와 같다. build.gradle // queryDSL version 정보 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'org.springframework.boot' version '2.6.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'// queryDSL plugins 추가 id 'java' } group = 'com.springboot2' version = '0.0.1-SNAPSHOT' sourceCompatibi.. [Spring Boot] (3) MyBatis 3에서의 DB 설정 앞서 MyBatis의 프로퍼티를 셋팅할 때, MybatisProperties의 Configuration 정보를 SqlSessionFactory의 Configuration에 일일이 셋팅을 해주었었다. MyBatis 2에서는 getConfiguration() 메서드를 사용하면 Configuration을 가져왔었지만 MyBatis 3에서는 내부클래스인 CoreConfiguration을 가져온다. 내부를 보면 Configuration의 설정과 같은 필드들이 있다. 여기서 눈여겨 봐야할 건 해당 클래스에 선언된 applyTo() 메서드이다. 해당 메서드를 보면 Configuration을 파라미터로 받아, CoreConfiguration의 값들을 셋팅해주는 것을 볼 수 있다. MyBatis 2에서는 해당 셋팅 부분.. [Spring Boot] (2) MyBatis 셋팅 변경 JPA와 MyBatis가 오류없이 잘 작동하는지 테스트를 하기 위해 테스트 코드를 만들어 돌려보았다. package com.springboot2.legacy; import com.springboot2.legacy.dto.first.PokemonDto; import com.springboot2.legacy.dto.second.ItemDto; import com.springboot2.legacy.entity.first.PokemonEntity; import com.springboot2.legacy.entity.second.ItemEntity; import com.springboot2.legacy.mapper.first.PokemonMapper; import com.springboot2.legacy.mappe.. [Spring Boot] (1) DB 사용을 위한 셋팅 구성 프로젝트를 시작할 때 가장 먼저 하는 일이라고하면 DB를 연결하기 위해 셋팅을 구성하는 일 일것이다. DB를 하나만 사용한다고하면 application.yml에 프로퍼티를 설정하면 많은 것이 자동으로 구성되지만 그렇지 않은 설정들도 있다. DB를 셋팅하면서 겪었던 일들을 트러블슈팅하고자 한다. 우선 내가 설정하기 전 조건들은 이러하다. 1. 다중 DB를 사용한다. (2개 이상) 2. JPA와 MyBatis를 사용한다. 3. QueryDSL을 사용한다. DB가 1개일 경우, application.yml에 설정하면 자동으로 연결되지만 2개 이상일 경우 별도로 설정을 해주어야한다. 우선 공통으로 JPA와 MyBatis를 사용할 것이기 때문에 관련 설정 부분을 application.yml에서 가져와 셋팅하는 부.. 이전 1 다음