일단 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 |