JDBC란?
JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속하고 관리하기 위한 API이다.
JDBC를 사용하면 다양한 데이터베이스 시스템에 대해 일관된 방식으로 데이터베이스에 접속하고 데이터의 CRUD 작업을 수행할 수 있습니다.
자바 CRUD 예제
import java.sql.*;
public class JDBCCrudExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb";
String username = "username";
String password = "password";
try {
// 1. 데이터베이스에 연결
Connection connection = DriverManager.getConnection(url, username, password);
// 2. Statement 생성
Statement statement = connection.createStatement();
// 3. 데이터 삽입 (Create)
String insertQuery = "INSERT INTO employees (id, name, age) VALUES (1, 'John', 30)";
statement.executeUpdate(insertQuery);
// 4. 데이터 조회 (Read)
String selectQuery = "SELECT * FROM employees";
ResultSet resultSet = statement.executeQuery(selectQuery);
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
}
// 5. 데이터 갱신 (Update)
String updateQuery = "UPDATE employees SET age = 31 WHERE id = 1";
statement.executeUpdate(updateQuery);
// 6. 데이터 삭제 (Delete)
String deleteQuery = "DELETE FROM employees WHERE id = 1";
statement.executeUpdate(deleteQuery);
// 연결 및 리소스 해제
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
왜 많이 사용안할까?
- 복잡성 : JDBC를 사용하면 데이터베이스와의 연결 및 쿼리 작성 등의 작업을 직접 관리해야 한다.
- 보안 및 오류 처리 : JDBC는 SQL 쿼리를 문자열 형태로 다루기 때문에 보안 문제나 SQL 인젝션과 같은 오류 처리에 주의해야 한다.
- 생산성 및 유지보수 : ORM 라이브러리를 사용하면 더 높은 생산성과 높은 유지보수성을 얻을 수 있다. SQL 작성 및 연결 관리를 자동화 하며, 객체 지향적인 개발을 더욱 용이하게 한다.
'Back-end' 카테고리의 다른 글
PSA(Portable Service Abstraction) (0) | 2023.08.30 |
---|---|
IoC/DI (0) | 2023.08.30 |
가상 머신(스택 기반, 레지스터 기반) (0) | 2023.08.24 |
Object.equals()를 재정의 해야 하는 이유 (0) | 2023.08.24 |
sychronized, Atomic (0) | 2023.08.24 |