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

2. JDBC

sdafdq 2023. 9. 26. 19:49

중요한 데이터는 대부분 DB에 저장

 

보통 요런 구조.

 

우리가 domain과 web을 따로 나눴었죠?

 

보통, 빠른 응답을 위해 먼저 커넥션을 연결한다.

주로 TCP/IP로 연결한다.

 

그 다음은 그냥 SQL에 요청하고 응답받고 그런거다.

 

옛날엔 문제였던게, DB마다 커넥션을 연결하는 방법, SQL을 전달하는 방법, 응답받는 방법 모두 달랐다.

그래서 학습도 해야 했고, 코드도 또 짜야됐다. DB변경 시에는.

 

그때 나온 게 JDBC(Java Database Connectivity) 자바에서 제공하는 DB와의 의사소통을 위한 API이다.

 

통역사 역할? 을 하는 듯?

우리는 우리 말만 사용해도 각자의 DB에 맞게 알아서 바꿔서 전달해 주는 듯.

 

JDBC가 제공하는 것들 중 대표적인 인터페이스는 

java.sql.Connetction - 연결

java.sql.Statement - SQL 을 담은 내용.

java.sql.ResultSet - SQL 요청 응답.

 

각자 DB회사들이 자기네들에 맞게 드라이버라고 해서 구현해서 라이브러리로 제공함.

 

우리는 이제 JDBC만 배우면 코드를 바꾸지 않아도 라이브러리만 바꾸고 그대로 써도 된다.

 

 

물론, 모든 것이 다 표준화된 것은 아니다. 공통으로 사용하는 부분만 거의 표준화되어있고, SQL마다 조금씩 다른 부분은 표준화 되어있지 않다.

 

대표적으로 페이징 SQL은 DB마다 다르다.

 

 

그러니까 정리하자면, JDBC코드는 변경하지 않아도 되나, SQL은 해당 DB에 맞도록 변경하여야 한다.

 

참고로 JPA를 사용하면 이 부분도 많이 해결된다.

 

 

 

 

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

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