1 분 소요

주의 🚨
H2 데이터베이스 서버를 먼저 실행해두자.

데이터베이스 연결

ConnectionConst

src/main/java/hello/jdbc/connection/ConnectionConst.java

public abstract class ConnectionConst {
    public static final String URL = "jdbc:h2:tcp://localhost/~/test";
    public static final String USERNAME = "sa";
    public static final String PASSWORD = "";
}

데이터베이스에 접속하는데 필요한 기본 정보를 편리하게 사용할 수 있도록 상수로 만들었다.
이제 JDBC를 사용해서 실제 데이터베이스에 연결하는 코드를 작성해보자.

DBConnectionUtil

src/main/java/hello/jdbc/connection/DBConnectionUtil.java

import java.sql.Connection;
import static hello.jdbc.connection.ConnectionConst.*;

@Slf4j
public class DBConnectionUtil {

    public static Connection getConnection(){

        try {
            Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            log.info("get connection={}, class={}", connection, connection.getClass());

            return connection;

        } catch (SQLException e) {
            throw new IllegalStateException(e);
        }
    }
}

데이터베이스에 연결하려면 JDBC가 제공하는 DriverManager.getConnection(..) 를 사용하면 된다.
이렇게 하면 라이브러리에 있는 데이터베이스 드라이버를 찾아서 해당 드라이버가 제공하는 커넥션을 반환해준다.
여기서는 H2 데이터베이스 드라이버가 작동해서 실제 데이터베이스와 커넥션을 맺고 그 결과를 반환해준다.

간단한 학습용 테스트 코드를 만들어서 실행해보자.

테스트

DBConnectionUtilTest

src/test/java/hello/jdbc/connection/DBConnectionUtilTest.java

@Slf4j
class DBConnectionUtilTest {

    @Test
    void connection(){
        Connection connection = DBConnectionUtil.getConnection();
        assertThat(connection).isNotNull();
    }
}

주의 🚨
실행전에 H2 데이터베이스 서버를 실행해두어야 한다.

실행 결과

DBConnectionUtil - get connection=conn0: url=jdbc:h2:tcp://localhost/~/test user=SA, class=class org.h2.jdbc.JdbcConnection

실행 결과를 보면 class=class org.h2.jdbc.JdbcConnection 부분을 확인할 수 있다.
이것이 바로 H2 데이터베이스 드라이버가 제공하는 H2 전용 커넥션이다. 물론 이 커넥션은 JDBC 표준 커넥션 인터페이스인 java.sql.Connection 인터페이스를 구현하고 있다.



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기