스프링/5. 스프링 DB-1

4. DB에 연결

sdafdq 2023. 9. 26. 22:25

일단 DB 실행 하고 시작

 

 

 

커넥션을 하는 거임.

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 = "1234";
}

먼저 DB 로그인 정보를 쉽게 쓰기 위해 Const로 만듦. 실제로 생성할 게 아니라서 추상 클래스로 만듦.

 

@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 RuntimeException(e);
        }

    }
}

커넥션을 얻기 위한 유틸을 우리가 정의해 줬음.

DriverManager는 Connection import하면 거기에 있음.

드라이버는 전에 말 했던데로 JDBC의 표준 인터페이스를 구현한 회사마다의 구현체임. JDBC와 호환되기 위해 회사들이 자기 DB와 소통할 수 있는 라이브러리를 JDBC 표준 인터페이스에 맞춰 구현한 거임.

DriverManager.getConnection(url, 아이디, 비밀번호)

해서 드라이버 얻으면 됨. 라이브러리 찾아 보는거임. 참고로 

jdbc:h2:tcp://localhost/./test

이 url보고 어떤 드라이버가 맞는건지 판단하는거임. jdbc:h2:tcp 이런 건 어떤 규약이라 보고 판단할 수 있음.

있는지 체크 하는거라 오류날 수도 있기에 예외처리 그냥 SQLException을 런타임예외로 내보냄. 이건 나중에 설명한다고 함.

 

근데 우리가 애초에 라이브러리 추가를 h2밖에 안해서 뒤져볼게 h2밖에 없긴 함.

import java.sql.Connection;

이걸로 import 해 줘야 함.

이게 jdbc 꺼임.

 

 

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

그냥 커넥션 됐는지 확인만.

 

뒤져봐서 나오면 null이 아니니까.

'스프링 > 5. 스프링 DB-1' 카테고리의 다른 글

6. 조회  (0) 2023.09.27
5. JDBC 등록  (0) 2023.09.27
3. JDBC 최신기술  (0) 2023.09.26
2. JDBC  (0) 2023.09.26
1. 환경준비  (0) 2023.09.25