[Spring DB] Connection Pool / DataSource
·
Spring DB/JDBC
Connection Pool기존의 애플리케이션과 DB가 연결되는 상태를 기억해보자.이전까지는 애플리케이션에서 DB 드라이버 매니저를 통해 커넥션을 가져와 통신 했다.그래서 한번 쿼리를 쏠 때마다 DB드라이버를 통해 새로운 커넥션을 가져와서 데이터베이스에 CRUD를 적용했다. 커넥션은 외부 자원과 연결되는 객체이기 때문에, 항상 한 요청마다 새로운 커넥션을 요청하여 1쿼리 : 1커넥션을 생성하는 일은 시스템 자원에 큰 낭비가 된다.우리가 자바에서 Executors 프레임워크를 통해 스레드 풀로 스레드를 관리했던 것 처럼, 이런 커넥션도 커넥션 풀(Connection Pool) 이라는 저장소에 미리 일정 수준의 커넥션을 생성해두고 재사용할 수 있는 기능이다.이런식으로 애플리케이션이 뜰 때, 미리 일정 수준(..
[JDBC] JDBC와 JDBC DriverManager
·
Spring DB/JDBC
간단히 알아보는 JDBC의 역사JDBC는 자바 애플리케이션과 DB사이를 연결해주는 자바 API로써, 다양한 RDBMS에 접근하도록 도와준다.RDBMS 회사마다 애플리케이션과 연결, SQL 전송, 결과 응답을 받는 방식이 다르기 때문에, 자바가 이러한 문제점을 해결하기 위해 JDBC라는 표준 API를 통해 Connection, Statement, ResultSet 3가지 인터페이스를 제공한다.각 회사들은 이제 본인들의 DB에 맞게 구현체를 라이브러리로 제공하여 개발자는 이 3가지 인터페이스에만 의존하여 개발하면 된다.커넥션을 위한 JDBC DriverManagerJDBC에서는 Connection 이란 인터페이스를 정의 해놨고, H2 데이터베이스 드라이버는 이 JDBC의 Connection 인터페이스를 구현..
[Spring DB] H2 데이터베이스 대신 MySQL 연동해보기
·
Spring DB/JDBC
김영한님 강의 커리큘럼은 H2 데이터베이스를 사용한다.근데 나는 그렇게 MySQL을 열심히 공부했는데 막상 다른 데이터베이스를 쓰니 스스로 굉장히 서운했고, 앞으로 내가 프로젝트를 할 때 어쨌든 DB를 연동할 줄 알아야하기 때문에, 나는 MySql로 시도해보고자 했다.그리고 앞으로 강의도 H2로도 해보고, 되도록이면 MySQL로 적용해보도록 하자.연습 테이블 LOL_CHAMPIONS기존에 블로그에 업로드 해뒀든 실습용 롤 챔피언 데이터베이스를 사용했다.DB 1편에서 JDBC를 사용했던 처음부터 천천히 따라가보겠다.Gradle 의존성 추가하기dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' compi..