약 9분
읽기 설정
글자 크기
줄 간격
글꼴
CRUD 구현
CRUD는 Create(생성), Read(읽기), Update(수정), Delete(삭제)의 줄임말로, 데이터베이스와 상호작용하는 기본적인 방법입니다. 이 개념은 웹 애플리케이션에서 사용자가 데이터를 추가하고, 조회하고, 수정하고 삭제할 수 있는 기능을 제공하는 데 필수적입니다. JDBC(Java Database Connectivity)를 사용하여 Java 애플리케이션과 MySQL 데이터베이스 간의 연결을 통해 CRUD 작업을 수행하는 방법을 살펴보겠습니다.
1. JDBC와 MySQL 설정하기
JDBC를 사용하기 위해 우선 MySQL 데이터베이스를 준비하고, JDBC 드라이버를 프로젝트에 추가해야 합니다. IntelliJ IDEA에서 Maven을 사용하여 의존성을 관리할 수 있습니다. pom.xml 파일에 다음과 같은 의존성을 추가하세요:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
2. 연결 설정
데이터베이스에 연결하기 위해 다음과 같이 DatabaseConnection 클래스를 생성합니다. 이 클래스에서는 JDBC URL 및 사용자 인증 정보를 설정합니다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
private static final String URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}
3. CRUD 메소드 구현
각 CRUD 작업을 수행하는 메소드를 포함한 UserDAO 클래스를 작성해보겠습니다. 예를 들어, 사용자 정보에 대한 CRUD 작업을 처리합니다.
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class UserDAO {
public void createUser(String name, String email) throws SQLException {
Connection connection = DatabaseConnection.getConnection();
String sql = "INSERT INTO users (name, email) VALUES (?, ?);";
try (PreparedStatement pstmt = connection.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.executeUpdate();
}
}
public List<User> readUsers() throws SQLException {
List<User> users = new ArrayList<>();
Connection connection = DatabaseConnection.getConnection();
String sql = "SELECT * FROM users;";
try (Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
User user = new User(rs.getInt("id"), rs.getString("name"), rs.getString("email"));
users.add(user);
}
}
return users;
}
public void updateUser(int id, String name, String email) throws SQLException {
Connection connection = DatabaseConnection.getConnection();
String sql = "UPDATE users SET name = ?, email = ? WHERE id = ?;";
try (PreparedStatement pstmt = connection.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setInt(3, id);
pstmt.executeUpdate();
}
}
public void deleteUser(int id) throws SQLException {
Connection connection = DatabaseConnection.getConnection();
String sql = "DELETE FROM users WHERE id = ?;";
try (PreparedStatement pstmt = connection.prepareStatement(sql)) {
pstmt.setInt(1, id);
pstmt.executeUpdate();
}
}
}
4. 테스트 및 실습
위 코드를 통해 Users 테이블에 대해 CRUD 작업을 수행할 수 있습니다. 각각의 메소드를 호출하여 내용을 확인하는 테스트 클래스를 작성해보세요. 사용자의 정보를 추가하고 조회하며 수정 후 삭제하는 과정을 통해 JDBC와 MySQL 사용에 익숙해질 수 있습니다.
정리
이 과정을 통해 JDBC를 사용하여 MySQL 데이터베이스와 연결하고 CRUD 기능을 구현하는 방법을 배웠습니다. 데이터베이스 연결은 웹 애플리케이션에서 중요한 부분이며, 이후 Spring Boot와 같은 프레임워크에서도 이 개념이 대부분 적용됩니다. 이 과정을 실습하면서 지속적으로 개선할 수 있으며, 보다 복잡한 데이터베이스 구조도 다룰 수 있는 기초를 닦는 데 도움이 될 것입니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.