
JDBC(Java Database Connectivity)는 자바 프로그램이 데이터베이스와 통신할 수 있게 해주는 기술이에요. 이를 통해 자바 애플리케이션에서 데이터베이스에 접속하고 데이터를 조회하거나 수정할 수 있답니다.
• JDBC는 자바 프로그램이 데이터베이스와 친구가 되게 해주는 다리예요.
• 자바 프로그램이 데이터베이스에게 “안녕, 너의 정보를 좀 볼 수 있을까?“라고 물어볼 수 있게 해주는 거예요.
• DriverManager: “운전 기사” 역할을 하는 친구예요. 데이터베이스로 가는 길을 찾아줘요.
• Connection: 데이터베이스와 연결된 전화선이에요. 자바 프로그램과 데이터베이스가 이 선을 통해 이야기해요.
• Statement: 데이터베이스에게 “질문”을 하는 친구예요. 데이터베이스에게 “이 정보를 보여줘!“라고 말해요.
• ResultSet: 데이터베이스가 “질문”에 답변을 준 결과들이 담긴 상자예요. 자바 프로그램이 이 상자를 열어 답을 확인해요.
JDBC를 사용하여 데이터베이스 애플리케이션을 개발하는 절차는 다음과 같습니다. 이 절차를 따라가면서 각 단계를 설명할게요.
먼저, 사용할 데이터베이스의 JDBC 드라이버를 로드해야 합니다. 이는 Class.forName 메소드를 사용하여 수행할 수 있습니다.
Class.forName("com.mysql.cj.jdbc.Driver");
-> 없으면 ClassNotFoundException 발생
다음으로, DriverManager를 사용하여 데이터베이스와의 연결을 설정합니다. getConnection 메소드를 통해 데이터베이스 URL, 사용자 이름, 비밀번호를 전달합니다.
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
SQL 쿼리를 실행하기 위해 Statement 객체를 생성합니다. Statement, PreparedStatement 또는 CallableStatement를 사용할 수 있습니다.
Statement statement = connection.createStatement();
String query = "SELECT * FROM mytable";
ResultSet resultSet = statement.executeQuery(query);
ResultSet 객체를 사용하여 쿼리 결과를 처리합니다. next 메소드를 사용하여 결과 집합의 각 행을 순차적으로 처리합니다.
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
// 결과 처리 로직
}
모든 작업이 완료되면, 사용한 리소스(예: ResultSet, Statement, Connection)를 닫아야 합니다. 이는 메모리 누수를 방지합니다.
resultSet.close();
statement.close();
connection.close();
위 단계를 종합한 간단한 예제 코드는 다음과 같습니다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCDemo {
public static void main(String[] args) {
// 1. JDBC 드라이버 로드
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
// 2. 데이터베이스 연결
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
Statement statement = connection.createStatement()) {
// 3. SQL 문 실행
String query = "SELECT * FROM mytable";
ResultSet resultSet = statement.executeQuery(query);
// 4. 결과 처리
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
// 5. 자원 해제
resultSet.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
JDBC 개발 절차는 다음과 같은 단계를 따릅니다:
1. JDBC 드라이버 로드
2. 데이터베이스 연결 설정
3. SQL 문 실행
4. 쿼리 결과 처리
5. 사용한 자원 해제
이 절차를 통해 자바 애플리케이션이 데이터베이스와 상호작용할 수 있습니다.